Не могу сравнить сотые доли числа
Добавлено: 29 май 2008, 14:01
Всем привет! Такая ситуация, в таблице два текстовых поля, sum1 и sum2, в коде делаю следующее:
В отладчике я ставлю точку останова и смотрю что переменная s имеет значение 0.01
и она все равно выдает сообщение 'aaaa'
Второй вариант:
Картина повторилась
Третий вариант
Происходит что-то интересное, в большенстве случаев проскакивает, а иногда все же выдает сообщение.
Мне нужно что сообщение не выдавало.
Код: Выделить всё
....
var
s:Real;
begin
....
s:=ABS(StrToFloat(Table1Sum1.text)-StrToFloat(Table1.sum2.text));
If s<>0.01 then
ShowMessage('аааа');
...
end;
и она все равно выдает сообщение 'aaaa'
Второй вариант:
Код: Выделить всё
....
var
x,s:Real;
begin
....
x:=0.01;
s:=ABS(StrToFloat(Table1Sum1.text)-StrToFloat(Table1.sum2.text));
If s<>x then
ShowMessage('аааа');
...
end;
Третий вариант
Код: Выделить всё
....
var
x,s:Real;
begin
....
x:=0.01;
s:=ABS(StrToFloat(Table1Sum1.text)-StrToFloat(Table1.sum2.text));
If FloatToStr(s)<>FloatToStr(x) then
ShowMessage('аааа');
...
end;
Мне нужно что сообщение не выдавало.