Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: 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 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1094542630
Lex
2004-09-07 11:37
2004.09.26
Есть ли тут кто из Томска?


14-1094236128
noname.txt
2004-09-03 22:28
2004.09.26
Как узнать PageRank и ТИц страницы???


14-1094635405
Vasya.ru
2004-09-08 13:23
2004.09.26
Седня препод дал на паре - написать календарь


1-1094643170
Snip
2004-09-08 15:32
2004.09.26
Кто разбираеться в DLL


14-1094465614
matt
2004-09-06 14:13
2004.09.26
USB разъемы