Archiv der Kategorie: PHP

floor() und float-Variablen: Gaanz evil!!!

Erkenntnis zu PHP des heutigen Tages:
* floor(255) ergibt nicht etwa einen Integer, sondern einen Float-Wert. WTF!?
* floor() kann gründlich in die Hose gehen. Unter Umständen arbeiten wir hier mit einem Float-Wert, bei dem durch die Berechnungen eine Ungenauigkeit entstanden ist, z.b. $test = 7.99999999999999544 anstatt 8. Damit erhalten wir mit floor($test) als Ergebnis 7 anstatt die erwarteten 8. Scheinbar bleibt als einzige Lösung, den Float-Wert vorher mit round() zu runden. bevor floor() ausgeführt wird.