(PHP 4, PHP 5, PHP 7)
round — Arrondit un nombre à virgule flottante
$val
[, int $precision
= 0
[, int $mode
= PHP_ROUND_HALF_UP
]] )
Retourne la valeur arrondie de val
à la précision precision
(nombre de
chiffres après la virgule). Le paramètre precision
peut être négatif ou NULL
: c'est sa valeur par défaut.
Note: PHP ne gère pas correctement les chaînes telles que "12 300,2", par défaut. Reportez-vous à la conversion de chaînes.
val
La valeur à arrondir
precision
Le nombre optionnel de décimales à arrondir.
mode
Utilisez une des constantes suivantes pour spécifier le mode d'arrondi.
Constante | Description |
---|---|
PHP_ROUND_HALF_UP |
Arrondit val à une précision precision
supérieure de décimal en s'éloignant de zéro lorsqu'il est à mi-chemin. Par exemple, 1.5 deviendra 2 et -1.5
deviendra -2.
|
PHP_ROUND_HALF_DOWN |
Arrondit val à une précision precision
inférieure de décimal en s'approchant de zéro lorsqu'il est à mi-chemin. Par exemple, 1.5 deviendra 1 et
-1.5 deviendra -1.
|
PHP_ROUND_HALF_EVEN |
Arrondit val à la précision precision
de décimal vers la prochaine valeur paire.
|
PHP_ROUND_HALF_ODD |
Arrondit val à la précision precision
de décimal vers la prochaine valeur impaire.
|
La valeur arrondie
Exemple #1 Exemple avec round()
<?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
?>
Exemple #2 Exemple avec le paramètre mode
<?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
?>
Exemple #3 Exemple avec les paramètres mode
et precision
<?php
/* Utilisation de PHP_ROUND_HALF_UP avec une précision d'1 décimal */
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
/* Utilisation de PHP_ROUND_HALF_DOWN avec une précision d'1 decimal */
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
/* Utilisation de PHP_ROUND_HALF_EVEN avec une précision d'1 decimal */
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
/* Utilisation de PHP_ROUND_HALF_ODD avec une précision d'1 decimal */
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 | Description |
---|---|
5.3.0 |
Le paramètre mode a été ajouté.
|
5.2.7 | Le fonctionnement interne de round() a été modifié afin d'être conforme au standard C99. |