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

GUIfreund
 2013-09-25 20:17
#170645 #170645
User since
2011-08-08
559 Artikel
BenutzerIn
[default_avatar]
2013-09-25T17:04:02 hlubenow
2013-09-25T10:02:42 Muffi
bei
Code (perl): (dl )
say neueloesung(2.024-2.019, 2);

ist 0 halt falsch.

Wieso? 2.024, kaufmännisch gerundet (bis 4 wird abgerundet), ist 2.02 und
2.019, kaufmännisch gerundet (über 5, hier 9, wird aufgerundet), ist auch 2.02.
Ergebnis der Subtraktion also: 0.

Nein. Perl (und nicht nur Perl) subtrahiert erst, ergibt 0.005. Dann wird neueloesung(0.005, 2); berechnet. Bei mathematischer Rundung ergäbe das 0.04 (Rundung zur nächsten geraden Zahl). Wie das bei kaufmännischer Rundung festgelegt ist, weiß ich nicht, aber ich bin sicher, es ist festgelegt. Könnte freilich vom Kontext abhängen, z. B. "Rundung zugunsten des Kunden".
Gruß
GUIfreund

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