Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
1-1079079319
Курдль
2004-03-12 11:15
2004.04.04
Вывод потока на принтер.


14-1079075366
Ega23
2004-03-12 10:09
2004.04.04
Зимбабве поймало 64 американских шпиона


3-1078502272
APXi
2004-03-05 18:57
2004.04.04
Как сделать чтобы в DBGrid работала колесо мыши?


1-1079462465
Шнур
2004-03-16 21:41
2004.04.04
Компоненты


14-1078948458
Step[B.M.]
2004-03-10 22:54
2004.04.04
Как и главное чем скомпилить файл ASM