
Zitat von
Mario:
Einmal wird auf und einmal abgerundet? Habe ich hier einen Denkfehler oder ist es ein Fehler in Delphi?
Delphi verwendet "
Banker's rounding". Die Auf- und Abrundungen sollen sich in der Masse gegenseitig aufheben.
Kaufmännisches Runden geht so:
Delphi-Quellcode:
function CommercialRound(const X: Float): Int64;
begin
Result := Trunc(X);
if Frac(Abs(X)) >= 0.5 then
Result := Result + Sgn(X);
end;