Mai 29

Mit PHP Aufrunden, Abrunden oder mathematisch richtig Runden

Tag: PHP Tipps und TricksLeichti @ 3:10 pm

Oft muss man Zahlen aufrunden, abrunden, oder mathematisch korrekt runden. PHP bietet hier 3 Funktionen an:

  • round() - mathematisch Runden
  • ceil() - Aufrunden
  • floor() - Abrunden

Diese Rundungsfunktionen sollten eigentlich selbst erklärend sein, doch ich werde sie hier anhand einiger Beispiele erklären. Fangen wir mit dem Aufrunden an:

PHP Aufrunden

Hierbei rundet die Funktion ceil() einen Fließkommawert auf die nächstgrößere Ganzzahl auf. Anhand der Beispiele dürfte dies verständlich dargestellt sein

 
	echo ceil(2.25); // rundet auf 3 auf
	echo ceil(2.9); // 3
	echo ceil(225.001) // 226
 

PHP Abrunden

Hierbei rundet die Funktion floor() einen Fließkommawert auf die nächstkleinere Ganzzahl ab. Anhand der Beispiele dürfte dies verständlich dargestellt sein

 
	echo floor(2.25); // rundet auf 2 ab
	echo floor(2.9); // 2
	echo floor(225.001) // 225
 

Mathematisch korrektes runden mit PHP

Mit der Funktion round() rundet PHP mathematisch korrekt. Es wird ab 5 aufgerunden, ansonsten abgerundet. Die Funktion round($zahl, $kommastellen) hat 2 Parameter, wobei nur der Erste($zahl) notwendig ist, $kommastellen ist als Standart 0. Einige Beispiele dürften diese Funktion verständlich erklären:

 
	echo round(14.4); // Gibt 14 aus
	echo round(14.5); // Gibt 15 aus
	echo round(14.4, -1) // Gibt 10 aus
	echo round(123.1234, 2) // Gibt 123.23 aus
 

Wie man also sehen kann, kann der Parameter der für die Kommastellen zuständig ist auch negativ sein. So ist der Parameter z.B: -1 wird auf volle Zehner gerundet, bei -2 auf volle Hunderter usw.

Ich hoffe ich konnte dir das Runden mittels PHP einigermaßen verständlich erklären und wünsche viel Spaß beim Aufrunden bzw Abrunden mit PHP ;)



Tags: , , , ,

2 Kommentare zu “Mit PHP Aufrunden, Abrunden oder mathematisch richtig Runden”

  1. Wishu says:

    Kann es sein, dass du bei Abrunden einen Fehler gemacht hast? Da ist noch 2 mal ceil() und nicht 3 mal floor().

  2. Maik says:

    Danke! Du hast mein Leben gerettet! ;)
    Nein, aber du hast mir sehr geholfen.
    Danke und Grüße!
    Maik

Dein Kommentar