Wenn es darum geht, eine Dezimalzahl zu runden, kennt PHP dafür drei verschiedene Funktionen: floor(), ceil() und round(). Doch wann benutzt man welche?
Die Unterschiede zwischen den drei Funktionen erkennt man am besten anhand einiger Beispiele:
floor(4.4); // 4 floor(4.5); // 4 floor(4.6); // 4 ceil(4.4); // 5 ceil(4.5); // 5 ceil(4.6); // 5 round(4.4); // 4 round(4.5); // 5 round(4.6); // 5
Wie man an den Beispielen sieht, ist es so, dass floor() immer abrundet (die Nachkommastellen abschneidet), während ceil() immer aufrundet.
Die Funktion round() rundet von .1 bis .4 ab und von .5 bis .9 auf. Außerdem besitzt diese Funktion einen weiteren (optionalen) Parameter, der die Anzahl zu behaltender Nachkommastellen angibt:
round(1.2345, 0); // 1 round(1.2345, 1); // 1.2 round(1.2345, 2); // 1.23 round(1.2345, 3); // 1.235
