Hallo,
Dieser Delphi Fehler hat mir keine Ruhe gelassen, aber hier ein ein
Workaround:
Habe die original Funktion aus "math" mit extended redefiniert und damit scheint es jetzt zu funktionieren...
Delphi-Quellcode:
function MyRoundTo(const AValue: Extended; const ADigit: TRoundToRange): Extended;
var
LFactor: Extended;
begin
LFactor := IntPower(10, ADigit);
Result := Round(AValue / LFactor) * LFactor;
end;
Das Problem scheint zu sein, daß math.RoundTo mit Double definiert ist, intern aber das System.Round verwendet wird, was aber mit Extended definiert ist. Delphi scheint hier ein Problem zu haben mit der Übergabe der "intern konvertierten werte" an die Round funktion ....