Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1196750879
Kolan
2007-12-04 09:47
2007.12.30
А можно у TreeView отключить рисование пунктирных точек?


15-1196316970
DaniilG
2007-11-29 09:16
2007.12.30
Turbo Delphi +Event Log


15-1196074479
No_Dead
2007-11-26 13:54
2007.12.30
Логика БД


2-1196851391
Максим
2007-12-05 13:43
2007.12.30
DLL


1-1192084366
botaniQ
2007-10-11 10:32
2007.12.30
Возможен ли запуск *.CHM с параметром главы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский