(PHP 4, PHP 5, PHP 7, PHP 8)
round — Arrondit un nombre à virgule flottante
Description
round(int|float
$num
, int
$precision
= 0, int
$mode
=
PHP_ROUND_HALF_UP
): float
Liste de paramètres
-
num
-
La valeur à arrondir.
-
precision
-
Le nombre optionnel de décimales à arrondir.
Si le paramètre precision
est positif,
num
sera arrondi en utilisant le paramètre
precision
pour définir le nombre significatif
de digits après le point décimal.
Si le paramètre precision
est négatif,
num
arrondi en utilisant le paramètre
precision
pour définir le nombre significatif
de digits avant le point décimal, i.e. le multiple le plus proche
de pow(10, -$precision)
, i.e. pour une
precision
de -1, num
sera arrondi à 10, pour une precision
de -2 à 100, etc.
-
mode
-
Utilisez une des constantes suivantes pour spécifier le mode d'arrondi.
Valeurs de retour
La valeur arrondie à la precision
donnée en tant que nombre décimal.
Historique
Exemples
Exemple #1 Exemple avec round()
<?php
var_dump(round(3.4));
var_dump(round(3.5));
var_dump(round(3.6));
var_dump(round(3.6, 0));
var_dump(round(5.045, 2));
var_dump(round(5.055, 2));
var_dump(round(345, -2));
var_dump(round(345, -3));
var_dump(round(678, -2));
var_dump(round(678, -3));
?>
L'exemple ci-dessus va afficher :
float(3)
float(4)
float(4)
float(4)
float(5.05)
float(5.06)
float(300)
float(0)
float(700)
float(1000)
Exemple #2 Comment precision
affecte un flottant
<?php
$number = 135.79;
var_dump(round($number, 3));
var_dump(round($number, 2));
var_dump(round($number, 1));
var_dump(round($number, 0));
var_dump(round($number, -1));
var_dump(round($number, -2));
var_dump(round($number, -3));
?>
L'exemple ci-dessus va afficher :
float(135.79)
float(135.79)
float(135.8)
float(136)
float(140)
float(100)
float(0)
Exemple #3 Exemple avec mode
<?php
echo "Mode d'arrondi avec 9.5" . PHP_EOL;
var_dump(round(9.5, 0, PHP_ROUND_HALF_UP));
var_dump(round(9.5, 0, PHP_ROUND_HALF_DOWN));
var_dump(round(9.5, 0, PHP_ROUND_HALF_EVEN));
var_dump(round(9.5, 0, PHP_ROUND_HALF_ODD));
echo PHP_EOL;
echo "Mode d'arrondi avec 8.5" . PHP_EOL;
var_dump(round(8.5, 0, PHP_ROUND_HALF_UP));
var_dump(round(8.5, 0, PHP_ROUND_HALF_DOWN));
var_dump(round(8.5, 0, PHP_ROUND_HALF_EVEN));
var_dump(round(8.5, 0, PHP_ROUND_HALF_ODD));
?>
L'exemple ci-dessus va afficher :
Mode d'arrondi avec 9.5
float(10)
float(9)
float(10)
float(9)
Mode d'arrondi avec 8.5
float(9)
float(8)
float(8)
float(9)
Exemple #4 Exemple avec mode
et precision
<?php
echo "Utilisation de PHP_ROUND_HALF_UP avec une précision d'une décimale" . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_UP));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_UP));
echo PHP_EOL;
echo "Utilisation de PHP_ROUND_HALF_DOWN avec une précision d'une décimale" . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_DOWN));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_DOWN));
echo PHP_EOL;
echo "Utilisation de PHP_ROUND_HALF_EVEN avec une précision d'une décimale" . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_EVEN));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_EVEN));
echo PHP_EOL;
echo "Utilisation de PHP_ROUND_HALF_ODD avec une précision d'une décimale" . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_ODD));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_ODD));
?>
L'exemple ci-dessus va afficher :
Utilisation de PHP_ROUND_HALF_UP avec une précision d'une décimale
float(1.6)
float(-1.6)
Utilisation de PHP_ROUND_HALF_DOWN avec une précision d'une décimale
float(1.5)
float(-1.5)
Utilisation de PHP_ROUND_HALF_EVEN avec une précision d'une décimale
float(1.6)
float(-1.6)
Utilisation de PHP_ROUND_HALF_ODD avec une précision d'une décimale
float(1.5)
float(-1.5)
Voir aussi
- ceil() - Arrondit au nombre supérieur
- floor() - Arrondit à l'entier inférieur
- number_format() - Formate un nombre pour l'affichage