Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.015 c
3-100142
Fbist
2003-03-11 13:48
2003.03.31
ADO в DLL :(


1-100219
olban
2003-03-20 13:14
2003.03.31
Как запретить перетаскивание окна?


1-100276
Barman
2003-03-18 09:30
2003.03.31
MDIChild


3-100141
Фагот
2003-03-06 13:11
2003.03.31
SQL


3-100151
neXt
2003-03-12 16:57
2003.03.31
Timeout BDE