Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Проблема с округлением   Найти похожие ветки 

 
kalliopiy ©   (2004-03-04 12:46) [0]

Здравствуйте! При записи некоторого значения в поле типа float возникает непонятная ситуация с отображением внесенного в поле значения. Т.е., например, записываем "62,8", а получаем в контроле (к примеру TDBEdit) отображение что-то типа "62,7999992845". При этом реально в БД записывается 62,8. Но если вид отображения в контролах можно настроить (хотя это тоже не выход, как по мне) через свойство DisplayFormat этого поля, то вот значение получаемое через FieldByName("myField").asString все равно получается каким-то бредовым...

Что тут можно сделать?


 
Zacho ©   (2004-03-04 12:50) [1]

Во-первых, не использовать тип Float. Для чисел с плавающей точкой использовать DOUBLE PRECISION, с фиксированной - NUMERIC или DECIMAL.
А если нужно округлять - то и округляй, хоть в запросах, хоть в приложении любым способом.
И еще:

> При этом реально в БД записывается 62,8

Это не так. Почитай где-нибудь о формате чисел с плавающей запятой.


 
Johnmen ©   (2004-03-04 12:51) [2]

Нет. Именно реально хранится "62,7999992845".


 
kalliopiy ©   (2004-03-04 12:59) [3]

??!!
М-да, значит, я не до конца с этим разобрался. Что ж, спасибо! Попробую переделать поля в Numeric.


 
Johnmen ©   (2004-03-04 13:03) [4]

http://www.ibase.ru/devinfo/round.htm
и далее там же...


 
Romkin ©   (2004-03-04 13:14) [5]

FieldByName("myField").DisplayText


 
Zacho ©   (2004-03-04 15:40) [6]

2 kalliopiy © :
Только сначала разберись, что тебе действительно нужно: данные с плавающей точкой (DOUBLE PRECISION) и округление, или с фиксированной точкой (NUMERIC,DECIMAL).
И имей в виду NUMERIC в диалекте 1 и NUMERIC в диалекте 3 - разные вещи.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
1-1079585912
-= Evgeney =-
2004-03-18 07:58
2004.04.04
Реестр


6-1074524774
det_sim
2004-01-19 18:06
2004.04.04
Не удается отправить сообщение по протоколу TCP/IP


4-1074747529
GrayFace
2004-01-22 07:58
2004.04.04
Как делать сервисы? Они запускаются до входа в систему?


6-1075135863
kor@l
2004-01-26 19:51
2004.04.04
HTTP


1-1079340178
pavlov
2004-03-15 11:42
2004.04.04
работа с файлами из под сервиса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский