При компиляции с Delphi 2009 и запуском это консольное приложение пишет "странно". Значения с обеих сторон оператора "меньше" равны, но код ведет себя так, как будто они не равны. Что я могу сделать, чтобы избежать этой проблемы?
program Project5;
{$APPTYPE CONSOLE}
var
C: Currency;
begin
C := 1.32;
if C < 1.32 then
begin
WriteLn('strange');
end;
ReadLn;
end.
p.s. код отлично работает с другими значениями.
Этот ответ Барри Келли объясняет, что тип валюты "не подвержен ошибкам точности так же, как и код с плавающей запятой".