Christian Seiler: Float-Zahl kürzen (74,34324148823 ==> 74,34)

Beitrag lesen

Hallo,

Der Algorithmus macht aber nicht 100% das, was man erwartet, siehe z.B. javascript:alert(1.255.toFixed(2)); (sollte sowohl in banker's rounding als auch in arithmetischem Runden 1.26 geben)
So wie ich es gelernt habe, hat man bei 1.255 die Möglichkeit AUF, oder AB zurunden, spricht auf 1.25 oder auf 1.26.

Wo hast Du denn das bitteschön her? Beim Runden einigt man sich auf eine bestimmte Konvention (siehe mein anderes Posting für die verschiedenen Konventionen, die es gibt). Es gibt Konventionen, bei denen 1.255 abgerundet wird, aber die werden so gut wie nie (!) verwendet. Beide (!) gebräuchlichen Konventionen (arithmetisches Runden, banker's rounding) schreiben vor, dass 1.255 auf 2 Stellen aufgerundet werden muss zu 1.26. Und gerade deswegen ist 1.255.toFixed(2) eben nicht das erwartete Ergebnis (hängt mit der Darstellung von floats im Computer zusammen, siehe meinen verlinkten PHP-Vorschlag für eine genauere Erklärung).

Viele Grüße,
Christian