Thread Kaufmännisch korrekt runden
(67 answers)
Opened by bianca at 2009-12-11 07:14
Entschuldige, verstehe ich nicht. Warum willst du dann überhaupt runden, wenn du eine Liste aller Zahlen hast, die du verwenden willst, und die dazu gehörige korrekte Rundung. Speiche die Liste und hole dir den richtigen Wert, ist noch um einiges schneller als das rechnen.
Aber wenn du nur einen Wert hast den du vorher nicht getestet hast, kannst du dir nicht sicher sein, ob dieser Wert auch korrekt gerundet wird. Und wie ich schon sagte, wenn du vorher mit den Werten gerechnet hast, dann können sich Versteckte Ungenauigkeiten ansammeln, die sich beim Runden bemerkbar machen. Um es ein wenig klar zu machen: Code: (dl
)
perl -e '$i=0; $ii=0.05; for(0..30){ $i+=0.05; $ii+=0.1 if($_%2); } print "$i-$ii=".($i-$ii)."\n"' Das sollte ausgeben: Code: (dl
)
1.55-1.55=0 gibt aber aus: Code: (dl
)
1.55-1.55=4.44089209850063e-16 Da haben sich die Darstellungsungenauigkeiten der Fließkommazahlen aufsummiert. Selbst wenn du mir Zahlen rechnest, von denen du weißt, dass die korrekt gerundet werden, so kannst du dir dessen nicht sicher sein nachdem du damit gerechnet hast. |