round

(PHP 4, PHP 5, PHP 7)

roundRundet einen Fließkommawert

Beschreibung

round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] ) : float

Rundet den Parameter val auf die mit precision angegebene Anzahl von Nachkommastellen. precision kann dabei auch null (Vorgabewert) oder negativ sein. So wird bei einer Stellenzahl von -1 z.B. auf volle Zehner gerundet.

Hinweis: PHP behandelt Strings wie "12,300.2" standardmäßig nicht korrekt. Siehe String-Konvertierung.

Parameter-Liste

val

Der zu rundende Wert.

precision

Auf wie viele Nachkommastellen gerundet werden soll.

mode

Eine der folgenden Konstanten kann verwendet werden, um den Rundungsmodus festzulegen.

Constant Beschreibung
PHP_ROUND_HALF_UP Rundet val auf precision Dezimalstellen weg von Null. Somit wird 1.5 zu 2 und -1.5 zu -2.
PHP_ROUND_HALF_DOWN Rundet val auf precision Dezimalstellen hin zu Null. Somit wird 1.5 zu 1 und -1.5 zu -1.
PHP_ROUND_HALF_EVEN Rundet val auf precision Dezimalstellen zum nächsten geraden Wert.
PHP_ROUND_HALF_ODD Rundet val auf precision Dezimalstellen zum nächsten ungeraden Wert.

Rückgabewerte

Der gerundete Wert.

Beispiele

Beispiel #1 round()-Beispiele

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.60);      // 4
echo round(1.955832);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06
?>

Beispiel #2 mode-Beispiele

<?php
echo round(9.50PHP_ROUND_HALF_UP);   // 10
echo round(9.50PHP_ROUND_HALF_DOWN); // 9
echo round(9.50PHP_ROUND_HALF_EVEN); // 10
echo round(9.50PHP_ROUND_HALF_ODD);  // 9

echo round(8.50PHP_ROUND_HALF_UP);   // 9
echo round(8.50PHP_ROUND_HALF_DOWN); // 8
echo round(8.50PHP_ROUND_HALF_EVEN); // 8
echo round(8.50PHP_ROUND_HALF_ODD);  // 9
?>

Beispiel #3 mode mit precision-Beispiele

<?php
/* Verwendung von PHP_ROUND_HALF_UP mit 1 Dezimalstelle Genauigkeit */
echo round1.551PHP_ROUND_HALF_UP);   //  1.6
echo round1.541PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.551PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.541PHP_ROUND_HALF_UP);   // -1.5

/* Verwendung von PHP_ROUND_HALF_DOWN mit 1 Dezimalstelle Genauigkeit */
echo round1.551PHP_ROUND_HALF_DOWN); //  1.5
echo round1.541PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.551PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.541PHP_ROUND_HALF_DOWN); // -1.5

/* Verwendung von PHP_ROUND_HALF_EVEN mit 1 Dezimalstelle Genauigkeit */
echo round1.551PHP_ROUND_HALF_EVEN); //  1.6
echo round1.541PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.551PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.541PHP_ROUND_HALF_EVEN); // -1.5

/* Verwendung von PHP_ROUND_HALF_ODD mit 1 Dezimalstelle Genauigkeit */
echo round1.551PHP_ROUND_HALF_ODD);  //  1.5
echo round1.541PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.551PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.541PHP_ROUND_HALF_ODD);  // -1.5
?>

Changelog

Version Beschreibung
5.3.0 Der Parameter mode wurde hinzugefügt.
5.2.7 Die interne Funktionsweise von round() wurde angepasst, um dem C99 Standard zu entsprechen.

Siehe auch