Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: Rundung bei Verwendung von DisplayFormat

  Alt 3. Aug 2015, 17:32
Das Problem ist, das 0.375 nicht exakt darstellbar ist. Mich wundert es zwar, das dies auf unterschiedlichen Systemen unterschiedlich gerundet (bzw. intern dargestellt) wird, aber ich habe Ähnliches vor Jahren erlebt.
(Ziemlich amateurhafte) Abhilfe:
Delphi-Quellcode:
Function RoundToDecimal (aValue, aGranularity : Double);
begin
  result := (0.500000000001 + Trunc(aValue/aGranularity))*aGranularity;
end;
Getippt und nicht getestet.

Bei mir ging es um Cent-Beträge und da hatte mir das gereicht. Aufruf für 2 Nachkommastellen übrigens mit 'RoundToDecimal(value,0.01)'.
  Mit Zitat antworten Zitat