Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дроби в БД. [D5, Paradox]


anton_cor ©   (2003-03-04 14:44:00) 

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


Anatoly Podgoretsky   (2003-03-04 18:57:00) [1]

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


MBo   (2003-03-04 15:15:00) [2]

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


Johnmen   (2003-03-04 15:07:00) [3]

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

Где будет ?

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


AlexSerp   (2003-03-04 14:54:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо