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

Дроби в БД.   Найти похожие ветки 

 
anton_cor ©   (2003-03-04 14:44) [0]

Нужно хранить в БД числа типа 6,456 67,4 , 234,34 то есть знака три не больше после запятой. Поле имеет тип данных Number. Но при переводе из строки (вводит юзер) в число, например StrToFloat(‘5,6) поле принимает значение
5,59999990463257
Что по сути то совершенно правильно… Но погрешность то будет!
Как хранить подобные числа? Значит вещественный тип данных не подходит?
А как тогда? Заводить два поля – цела часть/дробная или число/множитель и реализовывать все арефметические операции самому?
Не верю что нет стандартных способов.


 
AlexSerp ©   (2003-03-04 14:54) [1]

Форматируй перед сохранением.
FmtStr procedure - в хэлпе.


 
Johnmen ©   (2003-03-04 15:07) [2]

>Но погрешность то будет!

Где будет ?

1. Округлять в приложении
2. Хранить как целое, подразумевая опред.позицию дес.точки


 
MBo ©   (2003-03-04 15:15) [3]

а Currency (тип Comp) не подойдет?


 
Anatoly Podgoretsky ©   (2003-03-04 18:57) [4]

Парадокс систых BСD полей не поддерживает, если очень нужно то надо менять формат базы



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

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



Память: 0.45 MB
Время: 0.013 c
7-76685
VladTen
2003-01-28 02:49
2003.03.24
Проблема при печати с QuickReport-a на двухсторонний принтер


14-76661
hatchy
2003-03-07 14:30
2003.03.24
Sharewere


1-76374
kus
2003-03-11 15:43
2003.03.24
Как добавить в ListBox Строчки разного цвета


3-76330
Veles
2003-03-05 05:00
2003.03.24
Строчные <> прописные поиск базе


1-76471
Chlavik
2003-03-12 02:12
2003.03.24
Sleep Mode и прога




   Наверх