round

(PHP 4, PHP 5)

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 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écision precision 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écision precision de décimal après la prochaine valeur.
PHP_ROUND_HALF_ODD Arrondit val à la précision precision de décimal avant la prochaine valeur.

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.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
?>

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

LoadingChargement en cours