Вниз
Скачать: 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.012 c
6-76560
Anton
2003-01-29 22:15
2003.03.24
Есть ли ограничение на размер файла передаваемого по FTP


8-76538
jen_bond
2002-12-11 12:12
2003.03.24
Рисование объекта


1-76436
Berg
2003-03-11 12:23
2003.03.24
Преобразование строк


1-76376
OlegM
2003-03-13 06:10
2003.03.24
Как отобразить bitmap


14-76615
SPeller
2003-03-07 14:49
2003.03.24
ZIP




   Наверх