Вниз
Скачать: 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.016 c
14-76633
chistyakov
2003-03-07 12:21
2003.03.24
Нужны компоненты


14-76647
wicked
2003-03-07 21:38
2003.03.24
гы-гы.... :)


1-76511
Alex Slater
2003-03-11 12:16
2003.03.24
Кодировка


3-76371
polecat79
2003-03-06 16:48
2003.03.24
Не допустимое символьное значение для спецификации броска


1-76453
GRR
2003-03-12 09:39
2003.03.24
Как убрать фокус из StringGrid




   Наверх