Главная страница
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.023 c
3-1093877754
Митяй
2004-08-30 18:55
2004.09.26
Пароль таблицы Парадокс


1-1094717455
312kbps
2004-09-09 12:10
2004.09.26
Как называется событие ?


1-1094728927
Маяк_
2004-09-09 15:22
2004.09.26
Memo


14-1094713778
Gorlum
2004-09-09 11:09
2004.09.26
Java


1-1094995519
Marina
2004-09-12 17:25
2004.09.26
наследование от стандартного класса