Главная страница
    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-1196908519
Александр Семак
2007-12-06 05:35
2007.12.30
Items в TMainMenu


2-1196808279
mr1Andersen
2007-12-05 01:44
2007.12.30
Как программно в компоненте ListBox выделить строчку(элемент)


3-1188279724
dimaL
2007-08-28 09:42
2007.12.30
FLOAT в Firebird


2-1196855506
NailMan
2007-12-05 14:51
2007.12.30
Как сделать маску на ввод текста в TEdit?


15-1196230584
mrFreeman2007
2007-11-28 09:16
2007.12.30
Компиляция HTML в 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
Английский Французский Немецкий Итальянский Португальский Русский Испанский