Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

FLOAT в Firebird   Найти похожие ветки 

 
dimaL   (2007-08-28 09:42) [0]

Проблема такая: Не точно сохраняются данные типа Float в таблица FB (Через параметр ХП передаю 1.2, в таблицу записывается 1.20000004768372). Как решить такую проблему?


 
Anatoly Podgoretsky ©   (2007-08-28 09:48) [1]

> dimaL  (28.08.2007 09:42:00)  [0]

1.2 невозможное число для Float, наиболее близкое к нему 1.20000004768372


 
dimaL   (2007-08-28 10:00) [2]


> 1.2 невозможное число для Float, наиболее близкое к нему
> 1.20000004768372

Это все понятно. Но как выйти из этой ситуации.


 
Slider007 ©   (2007-08-28 10:05) [3]

dimaL   (28.08.07 10:00) [2]
Тебе точность до какого знака нужна ?


 
Sinus ©   (2007-08-28 10:05) [4]

если 1.2 это "деньги", то тебе надо использовать соответсвующий тип данных и тогда не будет проблем, зайди на www.ibase.ru


 
dimaL   (2007-08-28 10:15) [5]


> Тебе точность до какого знака нужна ?

Все просто: Пользователь вводит в таблицу некоторое число (Расход материала для изделия), с точностью до тысячных. Необходимо, чтобы это число сохранилось в том виде, в котором было введено. Не точное сохранение может оказать негативный результат для будущих расчетов.


 
Вася Правильный   (2007-08-28 10:44) [6]

NUMERIC
DECIMAL


 
Anatoly Podgoretsky ©   (2007-08-28 10:58) [7]

> dimaL  (28.08.2007 10:00:02)  [2]

Не использовать Float


 
Slider007 ©   (2007-08-28 11:01) [8]

dimaL   (28.08.07 10:15) [5]
с точностью до тысячных

numeric(15,3)


 
Anatoly Podgoretsky ©   (2007-08-28 11:20) [9]

В большинстве баз без разницы, но идеологически вернее Decimal
Для IB/FB это правильно, в зависимости от версии и уровня результаты могут быть не совсем те, что ожидаются, а Decimal по стандарту гарантирует BCD


 
PEAKTOP ©   (2007-08-28 12:04) [10]

Не дергай FLOAT без особой надобности.

Я как-то в одном проекте его использовал, который рассчитывал производственную калькуляцию заказа, которая состояла из тысяч элементов (шурупчики, болтики, гаечки и т.д.) при интенсивном вводе данных в БД.
И естественно наступил на грабли при округлении чисел до 2 знаков после запятой (деньги). За год эта фигня "накручивала" погрешность до 100 гривен ($20)


 
Johnmen ©   (2007-08-28 12:36) [11]

Единственная правильная рекомендация - читать внимательно документацию по типам данных для FB конкретной версии, для БД конкретного диалекта! Ибо одни и те же типы отличаются своими свойствами.
Всё остальное - фантазии и лукавство.

www.ibase.ru



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

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
15-1196449315
JusteR
2007-11-30 22:01
2007.12.30
Help with translate


2-1196721513
ZGadget
2007-12-04 01:38
2007.12.30
Отделение текста от бинарника


15-1196415745
data
2007-11-30 12:42
2007.12.30
Баланс между скоростью разработки и внедрения и качеством. Мнения


2-1196706403
BD
2007-12-03 21:26
2007.12.30
Поиск в базе данных (MS Access)


2-1197007613
Dariusz
2007-12-07 09:06
2007.12.30
Указатель в таблице после удаления записи