Вниз
Скачать: 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.037 c
14-1094673994
wl
2004-09-09 00:06
2004.09.26
Кто знает сайт, на котором генерируют открытки?


1-1094997798
maxnn
2004-09-12 18:03
2004.09.26
Защита DCU


14-1094505281
Jus
2004-09-07 01:14
2004.09.26
Nt технологии


3-1093498750
Artem123
2004-08-26 09:39
2004.09.26
Как динамически добавить в ClientDataSet поле SmallInt чтобы....


6-1090148252
тихий вовочка
2004-07-18 14:57
2004.09.26
Прокси




   Наверх