Fonctions Math
PHP Manual

round

(PHP 4, PHP 5, PHP 7)

roundArrondit un nombre à virgule flottante

Description

float round ( float $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é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.

Valeurs de retour

La valeur arrondie

Exemples

Exemple #1 Exemple avec round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.60);      // 4
echo round(1.955832);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06
?>

Exemple #2 Exemple avec le paramètre mode

<?php
echo round(9.50PHP_ROUND_HALF_UP);   // 10
echo round(9.50PHP_ROUND_HALF_DOWN); // 9
echo round(9.50PHP_ROUND_HALF_EVEN); // 10
echo round(9.50PHP_ROUND_HALF_ODD);  // 9

echo round(8.50PHP_ROUND_HALF_UP);   // 9
echo round(8.50PHP_ROUND_HALF_DOWN); // 8
echo round(8.50PHP_ROUND_HALF_EVEN); // 8
echo round(8.50PHP_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 round1.551PHP_ROUND_HALF_UP);   //  1.6
echo round1.541PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.551PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.541PHP_ROUND_HALF_UP);   // -1.5

/* Utilisation de PHP_ROUND_HALF_DOWN avec une précision d'1 decimal */
echo round1.551PHP_ROUND_HALF_DOWN); //  1.5
echo round1.541PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.551PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.541PHP_ROUND_HALF_DOWN); // -1.5

/* Utilisation de PHP_ROUND_HALF_EVEN avec une précision d'1 decimal */
echo round1.551PHP_ROUND_HALF_EVEN); //  1.6
echo round1.541PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.551PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.541PHP_ROUND_HALF_EVEN); // -1.5

/* Utilisation de PHP_ROUND_HALF_ODD avec une précision d'1 decimal */
echo round1.551PHP_ROUND_HALF_ODD);  //  1.5
echo round1.541PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.551PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.541PHP_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


Fonctions Math
PHP Manual