Форум: "Базы";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c