Hi!
Insofern stellt sich die Frage, ob man also diesen Rundungsfunktionen traut oder sich lieber auf die bewaehrten Praktiken verlaesst.
Die Fraqge ist, ob man float-Daten traut oder nicht. Habe mal bei bugs.php.net nach round gesucht, da hatten einige schon an einen PHP-bug gedacht(z.B. http://bugs.php.net/bug.php?id=13241), aber das Problem ist wohl das Floor-Daten nicht 100% genau sind, wenn ich das richtig verstanden habe, das steht auch da:
http://php3.de/manual/de/language.types.float.php
"Fließkomma Präzision
Es ist ziemlich normal, dass einfache Dezimalzahlen wie 0.1 oder 0.7 nicht in ihre internen binären Entsprechungen konvertiert werden können, ohne einen kleinen Teil ihrer Genauigkeit zu verlieren. Das kann zu verwirrenden Ergebnissen führen. So wird floor((0.1 + 0.7) * 10) normalerweise 7 statt des erwarteten Wertes 8 zurück geben (als Ergebnis der internen Entsprechung von 7.9999999999....
Das gründet sich auf die Tatsache, dass es unmöglich ist, manche Dezimal-Zahlen durch eine endliche Anzahl an Nachkomma-Stellen darzustellen. Dem Wert 1/3 entspricht z.B. der interne Wert von 0.3333333. . ..
Deshalb sollten Sie nie den Ergebnissen von Fließkomma-Operationen bis auf die letzte Nachkomma-Stelle trauen und nie solche auf Gleichheit prüfen. Benötigen Sie wirklich eine größere Genauigkeit, sollten sie die mathematischen Funktionen beliebiger Genauigkeit oder die Gmp Funktionen benutzen."
Also kann man sich wirklich nicht auf round & co. verlassen, ich hoffe das hat keine Auswirkungen auf laufende Scripte von mir...
Grüße
Andreas