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

Locate   Найти похожие ветки 

← →
Explorer ©   (2003-03-13 08:32) [0]

Мастера!

if CheckBox2.Checked then
ADOQueryReestr.Locate("SummaPayment", RxCalcEdit1.Text, [loCaseInsensitive,loPartialKey]);

Ищет только целые числа (Ex: 454, 76 и т.д). А такие, как 45.76 или 676.70 не находит.
Поле "SummaPayment" - тип float.
Пробовал писать так StrToFloat(RxCalcEdit1.Text), но таже история!

Подскажите, где я чего упустил?


← →
Anatoly Podgoretsky ©   (2003-03-13 08:48) [1]

Да пропустил, представление реальных чисел в памяти, а точнее их ограниченную точность. Твоя строка 45.76 может совсем не совпадать с представлением числа 45.76 в памяти и хранением в базе.


← →
Explorer ©   (2003-03-13 08:51) [2]

А как можно это решить?


← →
edst ©   (2003-03-13 09:09) [3]

Ответ очень прост!

Вместо типа Float используй Currency и все будет как и должно быть.


← →
Explorer ©   (2003-03-13 09:50) [4]

>edst ©
Это тоже не помогло.


← →
Desdechado ©   (2003-03-13 11:17) [5]

а ты попробуй не Locate, а простым походом по записям с любым анализом (это чуть больше кода, чуть медленнее, зато учесть можно ВСЕ)


← →
Anatoly Podgoretsky ©   (2003-03-13 11:22) [6]

Explorer © (13.03.03 09:50)
И не поможет хранение на сервере и на клиенте может отличаться, только сканирование по записяи и то с учетом эпсилона.


← →
Explorer ©   (2003-03-13 11:47) [7]

Понятно.
Всем большое спасибо!



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

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



Память: 0.46 MB
Время: 0.013 c
14-100434
Карелин Артем
2003-03-14 12:02
2003.03.31
А если защитить так.


7-100470
Александр К
2003-02-01 23:06
2003.03.31
Самомодифицирующийся код


14-100437
dimich1978
2003-03-13 10:44
2003.03.31
Прикол


14-100408
sancho
2003-03-13 19:51
2003.03.31
А если написать прогу...


7-100469
Alex Shulg
2003-02-04 15:49
2003.03.31
Сервис WinNT




   Наверх