![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему так? [D7, XP]
fast2 © (2006-07-25 21:33:00)Таблица FB, одно из полей типа FLOAT. Заношу значение 531,85 а в записывается 531,849975585937
Почему так?
palva (2006-07-26 16:37:00) [1]
> fast2 (26.07.06 14:44) [13]
> > IBQuery1.ParamByName('_kat').Value:=k;
> А какого типа должна быть k? При real - выдает ошибку
Да какого угодно - string, double, ineger. Только string, конечно, с точкой в качестве разделителя.
StriderMan (2006-07-26 14:49:00) [2]
> real
лучше double взять
Value оно Variant, должно взять
fast2 (2006-07-26 14:44:00) [3]> IBQuery1.ParamByName('_kat').Value:=k;
А какого типа должна быть k? При real - выдает ошибку
Fay (2006-07-26 00:07:00) [4]боян
StriderMan (2006-07-25 23:55:00) [5]
> IBQuery1.ParamByName('_kat'). Value:=k;
Desdechado (2006-07-25 22:48:00) [6]Johnmen © (25.07.06 22:30) [8]
Да знаю я. Однако способ хранения и способ представления при доступе к ним - разные вещи.
Johnmen (2006-07-25 22:31:00) [7]
> palva © (25.07.06 22:26) [5]
>
> Строку попробуй.
Не стОит, право, ерундой заниматься :))
Johnmen (2006-07-25 22:30:00) [8]
> Desdechado © (25.07.06 21:37) [2]
>
> Если хочешь дробную часть точно хранить, пользуй типы с
> фиксированной точкой numeric или decimal.
Это не так. Ибо данные типы виртуальны. В зависимости от размерности могут храниться или как int или double precision. В доке всё подробно...:)
fast2 (2006-07-25 22:29:00) [9]>Строку попробуй. Причем запятая отделяет дробную часть от целой.
Т.е. тип поля сделать текстовым? А при вычислениях делать strtofloat?
Johnmen (2006-07-25 22:28:00) [10]Читать здесь http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
потом думать, потом снова задать вопрос...
palva (2006-07-25 22:26:00) [11]Строку попробуй. Причем запятая отделяет дробную часть от целой.
fast2 (2006-07-25 22:22:00) [12]никто не может подсказать?
fast2 (2006-07-25 21:58:00) [13]>Desdechado © (25.07.06 21:37) [2]
Какого типа должна быть переменная k, чтоб можно было занести ее значение в поле типа numeric? И как занести это значение? Типа...
IBQuery1.Close;
IBQuery1.SQL.Text:='INSERT INTO Table1 (kat) VALUES (:_kat)';
IBQuery1.ParamByName('_kat').As???:=k;
IBQuery1.ExecSQL;
Desdechado (2006-07-25 21:37:00) [14]Если хочешь дробную часть точно хранить, пользуй типы с фиксированной точкой numeric или decimal.
Машинное представление чисел с плавающей точкой всегда имеет погрешность.
cando (2006-07-25 21:36:00) [15]Скажи откуда ты 531,85 получил?