Einzelnen Beitrag anzeigen

Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: runden bis auf 2 stellen hinterm komma, 0 nicht wegschne

  Alt 27. Sep 2007, 15:34
Hallo Marabu,

das behauptet die Delphi-Hilfe.

Caption := FormatFloat('#0.0000',Round(0.425)); Und das ist der entsprechende Code der ausreichend formatiert seien dürfte.
Und da ich SetRoundMode nicht verändert habe dürfte zumindest in der Standardeinstellung
von Delphi dieses Verhalten vorliegen.

Alternative Standardfunktion ist Delphi´s SimpleRoundTo welches in der Delphi7 Version aber
auch (wie in der Hilfe beschrieben) nicht kaufmännisch rundet sondern bei negativen Zahlen
ein anderes Verhalten aufweist: 0,425 -> 0,43 -0,425 -> -0,42

Dagegen rechnet die gleiche Funktion in Delphi 2007:

0,425 -> 0,43 -0,425 -> -0,43

Schaut man sich den Quellcode in der Unit Math an sieht man die entsprechenden Unterschiede.
Spaßiger weise haben das die Borländer allerdings die Hilfe nicht entsprechend angepaßt
(zumindest in der SP1 nicht).

Die genannten Links belegen übrigens das von mir beschrieben Verhalten.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat