Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему так? [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 получил?


Наверх

Титульная страница Поиск, карта сайта Написать письмо