(PHP 4, PHP 5, PHP 7)
round — Rundet einen Fließkommawert
$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.
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.
|
Der gerundete Wert.
Beispiel #1 round()-Beispiele
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
Beispiel #2 mode
-Beispiele
<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
Beispiel #3 mode
mit precision
-Beispiele
<?php
/* Verwendung von PHP_ROUND_HALF_UP mit 1 Dezimalstelle Genauigkeit */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* Verwendung von PHP_ROUND_HALF_DOWN mit 1 Dezimalstelle Genauigkeit */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* Verwendung von PHP_ROUND_HALF_EVEN mit 1 Dezimalstelle Genauigkeit */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* Verwendung von PHP_ROUND_HALF_ODD mit 1 Dezimalstelle Genauigkeit */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>
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. |