Thread Runden *war Subtrahieren in Perl ... (55 answers)
Opened by Muffi at 2013-09-25 10:41

Muffi
 2013-09-25 09:32
#170592 #170592
User since
2012-07-18
1465 Artikel
BenutzerIn
[default_avatar]
Nein, der Testcode war nicht falsch.
Wenn du $Math::Round::half auf 0.5 setzt gehen andere Testfälle kaputt. Drum stehts ja standardmässig nicht auf 0.5.

Nehmen wir die Zahl von dir: 0.05499999999999999334
Wenn du nur diese Zahl siehst kannst du nicht sagen wie sie richtig gerundet wird.
Wenn die jemand genau so eingegeben hat und es auch beim Konvertieren von Dezimal nach Dual keine Rundungsfehler gegeben hat, dann ist es klar 0.05

Wenn die Zahl durch Rechen- und/oder Konvertierungsungenauigkeiten zu der Zahl wurde und eigentlich mal 0.055 war, dann ist es 0.06

Es gibt kein Modul der Welt, dass das erraten kann.

[edit] Math::Round macht das standardmässig so, dass es die ...334 hinten als Rechenungenauigkeit anzieht und die Zahl (mehr oder weniger) als 0.054Periode9 ansieht, was 0.055 ist.
Last edited: 2013-09-25 09:35:42 +0200 (CEST)
1 + 1 = 10

View full thread Runden *war Subtrahieren in Perl ...