round
(PHP 4, PHP 5)
round — Arrondit un nombre à virgule flottante
Description
$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.
Liste de paramètres
-
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écisionprecision
supérieure de décimal après 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écisionprecision
inférieure de décimal avant 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écisionprecision
de décimal après la prochaine valeur.PHP_ROUND_HALF_ODD
Arrondit val
à la précisionprecision
de décimal avant la prochaine valeur.
Valeurs de retour
La valeur arrondie
Exemples
Exemple #1 Exemple avec round()
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 ?>
Historique
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. |
Voir aussi
- ceil() - Arrondit au nombre supérieur
- floor() - Arrondit à l'entier inférieur
- number_format() - Formate un nombre pour l'affichage