Ich hätte explizit "
abrunden" schreiben sollen
Wenn du möchstest, dass negative Zahlen auch abgerundet werden (in Richtung 0), dann solltest du Trunc statt Floor verwenden:
Delphi-Quellcode:
var
Foo: Real;
Bar: Real;
begin
Foo := 0.9999999999999999{9}; // Next 9 will result in 1.0
Bar := Trunc(Foo * 2) / 2;
ShowMessage(FloatToStr(Bar));
end;