Thread Kaufmännisch korrekt runden (67 answers)
Opened by bianca at 2009-12-11 07:14

topeg
 2009-12-13 15:28
#129310 #129310
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Das Problem umgehe ich indem ich die Zahl als "$integer * 10**$exponent" betrachte.
Da kann ich ganz "einfach" mit Integer rechnen. Den wert den ich aufaddiere schneide ich bis zu der entsprechenden Stelle hinten vom Integer wert ab.
Beispiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
0.01234 auf 2 stellen runden:
# umwandeln
-> 0.01234 = 1234 * 10**-5
# letzten drei stellen "-(-5+2)" nehmen und aufaddieren:
-> 1234 + 123=1468
# die letzten drei Stellen weg nehmen:
-> 1000
# zurück wandeln
-> 1000* 10**-5=0.01

was das etwas komplizierter macht ist dass man Zahlen auch so schreiben kann:
Code: (dl )
0.0005e-5

Darum das viele Parsen vor dem eigentlichen rechnen...

View full thread Kaufmännisch korrekt runden