round

(PHP 4, PHP 5, PHP 7, PHP 8)

roundArrondit un nombre à virgule flottante

Description

round(int|float$num, int$precision = 0, int$mode = PHP_ROUND_HALF_UP): float

Retourne la valeur arrondie de num à 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.

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.

ConstantesDescription
PHP_ROUND_HALF_UP Arrondit num en s'éloignant de zéro lorsqu'il est à mi-chemin, arrondissant ainsi 1.5 à 2, et -1.5 à -2.
PHP_ROUND_HALF_DOWN Arrondit num en se rapprochant de zéro lorsqu'il est à mi-chemin, arrondissant ainsi 1.5 à 1, et -1.5 à -1.
PHP_ROUND_HALF_EVEN Arrondit num à la valeur paire la plus proche lorsqu'il est à mi-chemin, arrondissant ainsi 1.5 et 2.5 à 2.
PHP_ROUND_HALF_ODD Arrondit num à la valeur impaire la plus proche lorsqu'il est à mi-chemin, arrondissant ainsi 1.5 à 1 et 2.5 à 3.

Valeurs de retour

La valeur arrondie à la precision donnée en tant que nombre décimal.

Historique

VersionDescription
8.0.0num n'accepte plus les objets internes qui supporte les conversions numériques.

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

To Top