Вниз
Скачать: CL | DM;

Округление значений в IB   Найти похожие ветки 

 
samumka ©   (2004-08-30 15:13) [0]

Всем доброго здоровия.
Имеем. в программе переменную типа currency или real. Её значение заносим в БД в поле типа FLOAT. (insert into...).
Например, заносим 30,4 (ввожу явно через Tedit), при следующем просмотре это число отображается как 30,999999...3. Где грабли? Подскажите.


 
Desdechado ©   (2004-08-30 15:21) [1]

любые дробные числа теряют точность
как сильно теряют, зависит от типа данный (длины и способа представления числа в памяти)


 
Роман Снегирев   (2004-08-30 15:25) [2]

поле типа float использовать не надо, используй Decimal(n,m) в зависимости от того какая точность тебе нужна


 
Rule ©   (2004-08-30 17:14) [3]

если хочешь докопатся до сути вещей глянь на ibase.ru была статья по этому поводу


 
Vemer ©   (2004-08-30 18:17) [4]

Неплохой способ, особенно для денег - хранить в копейках (или мельче если надо) и менять внешний вид на клиенте. По крайней мере потом дебит с кредитом сходится :).


 
Zacho ©   (2004-08-30 19:03) [5]

Vemer ©   (30.08.04 18:17) [4]
В диалекте 3 - гораздо лучший способ использовать NUMERIC или DECIMAL, для этого они и нужны.


 
Vemer ©   (2004-08-30 19:20) [6]

Только проблема Numeric в том, что при попытке сделать с ним что-то (например сложить несколько) под D опять возникает неточность...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
4-1092678357
Fay
2004-08-16 21:45
2004.09.26
FindNextChangeNotification


3-1093607081
Rost
2004-08-27 15:44
2004.09.26
Работа с access


14-1094746699
wl
2004-09-09 20:18
2004.09.26
хотелось бы узнать, в какое время (по мск) на этом форуме наиболь


14-1094601165
SkyRanger
2004-09-08 03:52
2004.09.26
Терроризм и политкоректность


1-1094816172
bon
2004-09-10 15:36
2004.09.26
AutoCad




   Наверх