Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2007, 18:04   #1
frantic
 
Регистрация: 20.02.2007
Сообщений: 3
По умолчанию Неправильно отображается вещественный тип

Помогите, я че-то не догоняю:
Сделал таблицу бд В Access, в таблице одно из полей имеет тип Одинарное с плавающей точкой, когда в Delphi заполняю это поле (например ввожу 13,2), отображается оно в приложении примерно в таком виде 13,1999989051
Кто-нибудь знает в чем тут дело? Подскажите, может я неправльно типы выбрал? Может легче эти числа в текстовом формате хранить и когда нужно что-то считать, то конвертировать в вещественный тип?
frantic вне форума Ответить с цитированием
Старый 21.02.2007, 23:09   #2
nova-alex
Пользователь
 
Регистрация: 06.11.2006
Сообщений: 51
По умолчанию

Да, сохранять в текст, а потом конвертить- нормальный выход. Правда в случае с QReport не применишь арифметические функции к этому полю.
nova-alex вне форума Ответить с цитированием
Старый 22.02.2007, 01:19   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не стоит обращать на это большого внимания. Сия бяка связана с особенностями преобразования вещественных типов в специфическую форму для хранения в базах данных.
Именно поэтому кроме FLOAT часто вводится еще и тип CURRENCY (для денежных операций), как более точный (бабло все-таки ).
Если при дальнейших арифметических операциях сохраняется точность в пределах заданной, то и бог с ним, не надо заморачиваться.
mihali4 вне форума Ответить с цитированием
Старый 22.02.2007, 10:03   #4
frantic
 
Регистрация: 20.02.2007
Сообщений: 3
По умолчанию

Спасибо. А как быть если нужно сравнить два таких значения? Округлять?
frantic вне форума Ответить с цитированием
Старый 23.02.2007, 14:24   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от frantic Посмотреть сообщение
Спасибо. А как быть если нужно сравнить два таких значения? Округлять?
Зачем? Если числа одинаковы (при вводе), то и формы представления в базе у них одинаковы, а если не равны, то арифметика не нарушится.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отображается русский шрифт about_pooh БД в Delphi 11 10.04.2012 16:36
не отображается картинка sstyle JavaScript, Ajax 3 30.01.2008 02:59
Неправильно умножаются матрицы!!! metamfetamin Помощь студентам 1 09.12.2007 20:37
в TEdit изначально отображается текущая директория, а не только при выборе её kayman БД в Delphi 3 11.09.2007 16:25
Запрос неправильно работает... yulia БД в Delphi 0 27.05.2007 20:41