seth_not@home: Math.Round() rechnet falsch

Beitrag lesen

gudn tach!

eigentlich sollte Math.round(2.1350*100) = 214 liefern. Dies ist aber nicht der Fall.
Wie bekomme ich den korrekten Wert?

die gruende dafuer wurden ja bereits genannt. aber die loesung
http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_runden#4 ist gar keine.

mir faellt spontan dazu nur die moeglichkeit ein, die dritte ziffer hinter dem komma zu betrachten und zu untersuchen, ob sie kleiner als 5 oder groesser als 4 ist.
im fall <5 wird einfach der rest abgeschnitten und dann mit 100 multipliziert.
im fall >4 wird das gleiche gemacht, aber anschliessend noch das resultat inkrementiert.

eine andere moeglichkeit waere vielleicht, eine toleranz z.b. tol=1e-13 einzufuehren und zu ueberpruefen, ob
x*100>Math.round(x*100) && 0.5-(x*100-Math.round(x*100))<tol
ist und in diesem fall immer _auf_zurunden (statt abzurunden).

prost
seth