Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 187
от 06.08.2006, 10:35

Администратор:CJ
В рассылке:Подписчиков: 237, Экспертов: 26
В номере:Вопросов: 1, Ответов: 2


Вопрос № 50756: Здравствуйте всем, есть вот такая проблема.. есть interbase база в ней есть поле с типом float (в ней храню цену на какое то изделие) так вот когда ввожу в базу эту цену например 12.25 (именно с точкой) в самой базе она отображается нормально ...

Вопрос № 50.756
Здравствуйте всем, есть вот такая проблема..
есть interbase база в ней есть поле с типом float (в ней храню цену на какое то изделие) так вот когда ввожу в базу эту цену например 12.25 (именно с точкой) в самой базе она отображается нормально
(просматривал IBExpert'om) а вот когда вывожу это же значение в DBGrid то там получается не 12.25 а 12.24000256546 что то типа такого..
в чём моя ошибка или просчёт и как его исправить?
заранее благодарен
Отправлен: 01.08.2006, 10:30
Вопрос задал: Shcherbakov Anton (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Проходящий Мимо
Здравствуйте, Shcherbakov Anton!
Для работы с денежными еденицами нужно использовать тип NUMERIC(10,2),
где 10 - колличество целых знаков,
2 - колличество знаков после запятой.
В базе тип NUMERIC сохраняется в виде целого числа в отличии от FLOAT, значение которого в базе хранится в виде числа с плавающей точкой.
---------
Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 7-ой класс)
Ответ отправлен: 01.08.2006, 10:43

Отвечает: sir henry
Здравствуйте, Shcherbakov Anton!
Это связано с особенностью реализации числа с плавающей точкой в Дельфи.
Используйте, как Вам уже советовали, тип NUMERIC (DECIMAL), с нужным Вам количеством знаков после запятой. Это будет точная цифра. Для FLOAT Вы будете видеть только округление.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 01.08.2006, 11:02


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное