Thread Rechenfehler mit Perl ausgleichen (71 answers)
Opened by bianca at 2013-04-27 13:42

tonewheel
 2013-05-01 21:16
#167384 #167384
User since
2006-10-01
182 articles
BenutzerIn
[default_avatar]
2013-05-01T16:56:30 hlubenow
Öhm, wenn ich bei meinem Mehrwertsteuerprogramm versuche, alles in Cents zu rechnen, bekomme ich aber auch ein Problem (beim Teilen):
Angenommen, ich will von 35,37 EUR brutto die darin enthaltene Mehrwertsteuer berechnen. Das wären also 3537 Cents * 19 / 119.
Code: (dl )
perl -e 'print 3537 * 19 / 119 . "\n"'

Ergebnis: 564,73.... Cents. Dann müßte ich das Ergebnis dann ja doch noch wieder runden, hier auf 565 Cents.
Man kann also auch beim Rechnen in Cents nicht einfach alles mit Integern machen. Schade.

Das wirft uns dann wieder 2 Tage zurück. :-) Denn an der Stelle greift wieder (s)printf:
Code (perl): (dl )
perl -e 'printf("%0.0f\n", 3537 * 19 / 119)'

ergibt 565. (s)printf rundet also genau so, wie bianca weiter unten schon erwähnt, ab 0,5 nach Oben, sonst nach Unten. Also passend zum 'Geschäftsmodell' (schließlich hat ja auch nicht jeder eine kleine Metallsäge im Haus).

View full thread Rechenfehler mit Perl ausgleichen