Вниз
Скачать: CL | DM;

Почему так?   Найти похожие ветки 

← →
fast2   (2006-07-25 21:33) [0]

Таблица FB, одно из полей типа FLOAT. Заношу значение 531,85 а в записывается 531,849975585937
Почему так?


← →
cando ©   (2006-07-25 21:36) [1]

Скажи откуда ты 531,85 получил?


← →
Desdechado ©   (2006-07-25 21:37) [2]

Если хочешь дробную часть точно хранить, пользуй типы с фиксированной точкой numeric или decimal.
Машинное представление чисел с плавающей точкой всегда имеет погрешность.


← →
fast2   (2006-07-25 21:58) [3]

>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;


← →
fast2   (2006-07-25 22:22) [4]

никто не может подсказать?


← →
palva ©   (2006-07-25 22:26) [5]

Строку попробуй. Причем запятая отделяет дробную часть от целой.


← →
Johnmen ©   (2006-07-25 22:28) [6]

Читать здесь http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
потом думать, потом снова задать вопрос...


← →
fast2   (2006-07-25 22:29) [7]

>Строку попробуй. Причем запятая отделяет дробную часть от целой.
Т.е. тип поля сделать текстовым? А при вычислениях делать strtofloat?


← →
Johnmen ©   (2006-07-25 22:30) [8]


> Desdechado ©   (25.07.06 21:37) [2]
>
> Если хочешь дробную часть точно хранить, пользуй типы с
> фиксированной точкой numeric или decimal.


Это не так. Ибо данные типы виртуальны. В зависимости от размерности могут храниться или как int или double precision. В доке всё подробно...:)


← →
Johnmen ©   (2006-07-25 22:31) [9]


> palva ©   (25.07.06 22:26) [5]
>
> Строку попробуй.


Не стОит, право, ерундой заниматься :))


← →
Desdechado ©   (2006-07-25 22:48) [10]

Johnmen ©   (25.07.06 22:30) [8]
Да знаю я. Однако способ хранения и способ представления при доступе к ним - разные вещи.


← →
StriderMan ©   (2006-07-25 23:55) [11]


> IBQuery1.ParamByName("_kat").Value:=k;


← →
Fay ©   (2006-07-26 00:07) [12]

боян


← →
fast2   (2006-07-26 14:44) [13]

> IBQuery1.ParamByName("_kat").Value:=k;
А какого типа должна быть k? При real - выдает ошибку


← →
StriderMan ©   (2006-07-26 14:49) [14]


> real

лучше double взять

Value оно Variant, должно взять


← →
palva ©   (2006-07-26 16:37) [15]


> fast2   (26.07.06 14:44) [13]
> > IBQuery1.ParamByName("_kat").Value:=k;
> А какого типа должна быть k? При real - выдает ошибку

Да какого угодно - string, double, ineger. Только string, конечно, с точкой в качестве разделителя.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.028 c
9-1132859186
Мортимер
2005-11-24 22:06
2006.08.13
и снова этот гадский :) DoCollision


15-1153149555
HeadHunter
2006-07-17 19:19
2006.08.13
Qulix Systems (BelHard) приглашает на работу программистов


3-1149675879
irena
2006-06-07 14:24
2006.08.13
MSSql: редактирование длинных полей varchar(1024)


6-1143450349
_Владимир_
2006-03-27 13:05
2006.08.13
Загруженность сетевого интерфейса


1-1151681610
NewCheloveck555
2006-06-30 19:33
2006.08.13
Как в TWebBrowser заполнить формы и нажать на кнопку?




   Наверх