Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.20;
Скачать: CL | DM;

Вниз

Точность отображения на экране   Найти похожие ветки 

 
ruslan_as ©   (2003-02-03 10:09) [0]

Работаю с InterBase. Тип поля Float. В набор данных ввожу 0,001
а отображает 0,001000002464 (15 знаков). А мне нужно отображать 0,001. (а если 0,01 то отображать 0,01, вообщем как есть).

Вопрос простой, а в книге не нашел решения.
Съэкономте время пожалуйта!


 
Романов Р.В. ©   (2003-02-03 10:12) [1]

TNumericField.DisplayFormat


 
passm ©   (2003-02-03 10:13) [2]

ruslan_as © (03.02.03 10:09)> TNumericField.DisplayFormat & TNumericField.EditFormat.


 
Sergey13 ©   (2003-02-03 10:31) [3]

2Романов Р.В. © (03.02.03 10:12)& passm © (03.02.03 10:13)
Это в данном случае не решение проблемы, а временный уход от нее.

2ruslan_as © (03.02.03 10:09)
Советую бороться не с отображением на экран, а с точностью хранения чисел в ИБ - там есть здоровая проблема с этим. Сам в субботу запарился сравнивая 755.68 и 755.68. Пока явно не округлил говорило что не равно.
Поможет тебе в этой борьбе UDF на сервере и/или своя функция в программе типа round(x,n), где N-количество знаков для округления.


 
Johnmen ©   (2003-02-03 11:59) [4]

>ruslan_as ©

Если надо работать с полями с пл.точкой и при этом отображать фиксированное кол-во знаков после дес.разделителя, то см. псевдо тип NUMERIC


 
Sergey Masloff   (2003-02-03 13:39) [5]

Sergey13 ©
Сергей, а что за проблема с точностью хранения? А запарки в сравнении 755.68 и 755.68 были не при использовании компонентов IBX (в частности IBSQL?)

Просто у меня есть рабочий проект в котором (в силу объективных причин) все первичные ключи - с пл.точкой. Соответственно, при наличии проблем с хранением чисел я бы испытывал грандиозные проблемы с джойнами, форин кеями и пр. Так как проблем не наблюдается, то...



 
Alexandr ©   (2003-02-03 13:47) [6]


> Просто у меня есть рабочий проект в котором (в силу объективных
> причин) все первичные ключи - с пл.точкой. Соответственно,
> при наличии проблем с хранением чисел я бы испытывал грандиозные
> проблемы с джойнами, форин кеями и пр. Так как проблем не
> наблюдается, то...


1) проблема с округлением есть на самом деле. И она совершенно естественна и связана с нем, что в компьютере как ни крути, а точно ограничена. И ограничена не по десятичным цифрам, а по двоичным.
2) Сделать первичные ключи с плавающей точкой это оригинально...
Но при определенных обстоятельствах действительно будет работать.


 
Sergey Masloff   (2003-02-03 14:07) [7]

Alexandr ©
>1) проблема с округлением есть на самом деле. И она совершенно >естественна и связана с нем, что в компьютере как ни крути, а >точно ограничена. И ограничена не по десятичным цифрам, а по >двоичным.
Это прописные истины. Но проблемы по-прежнему не вижу.

>2) Сделать первичные ключи с плавающей точкой это оригинально...
Вы пропустили мое примечание "в силу объективных причин". И работать это будет (и работает) без проблем. Поверьте, я очень внимательно потестировал поведение IB прежде чем применить это решение в тиражируемой системе.


 
Alexandr ©   (2003-02-03 14:37) [8]

ну я же не сказал " не будет работать" Я сказал, что нужно учесть некоторые тонкости.
Я тоже проблемы не вижу :)
Но вот челу не нравится

> Работаю с InterBase. Тип поля Float. В набор данных ввожу
> 0,001
> а отображает 0,001000002464 (15 знаков).

я и пытался объяснить, почему так.


 
Sergey Masloff   (2003-02-03 14:52) [9]

Alexandr ©
>ну я же не сказал " не будет работать" Я сказал, что нужно учесть некоторые тонкости.
Я тоже проблемы не вижу :)

Ну тогда понятно ;-) У меня была единственная проблема в IBX в компоненте IBSQL при задании параметров AsFloat это не как обычно Double а Single. В то время как в IBQuery все "как обычно" - AsFloat это Double. И так как в документации про это я прочел после 3 дней плясок с бубном - так работает а так нет... то запомнилось надолго ;-)




Страницы: 1 вся ветка

Текущий архив: 2003.02.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
14-63847
Armageddon
2003-02-04 21:38
2003.02.20
Где можно взять компонент типа RichEdit в котором можно рисовать


7-63881
Mixir
2002-12-22 16:15
2003.02.20
Как сделать немодальный MessageBox?


4-63902
nsvi
2003-01-09 15:13
2003.02.20
Как получить список доступных фонтов?


4-63910
mate
2003-01-10 11:00
2003.02.20
Нажатие клавиши Ctrl


3-63583
alex_bredin
2003-02-04 11:13
2003.02.20
копирование структуры таблицы