Результатом операции "a-b" является тип extended. При преобразовании типа extended в тип double ("c := a - b;") получаются такие неверные результаты. Поэтому лучшим решением нахожу сделать переменные "a, b и c" типом extended:
Однако, несмотря на то что
выводит правильный результат (0.04), условие
Цитата:
if c = 0.04 then showmessage('yes');
|
не выполняется. В таком случае помогает использование
Цитата:
c := strtofloat(floattostr(a - b));
|
Почему при showmessage, выводящем 0.04, не выполняется условие "if с = 0.04"? Нет ли более эффективного способа "обновить" значение 0.04 (strtofloat(floattostr(a - b)))?