Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Format-Befehl rundet falsch

  Alt 22. Mai 2012, 22:02
Mach mal folgendes:

Delphi-Quellcode:
var n:real; s:string;
begin
   n:=9.995;
   str(n:0:20,s);
   ShowMessage(s);
end;
Dann siehst du so etwas wie 9.99499999999999922000

Der Wert 9.995 kann nicht exakt abgebildet werden, in diesem Fall steht in n
ein Wert, der geringfügig kleiner ist, als 9.995 und der wird korrekt abgerundet.
WorkAround auf die Schnelle:

Delphi-Quellcode:
n:=9.995;
n:=Round(n*100+0.5)/100;
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat