L'arrondissement des points flottants est une exigence courante dans la programmation PHP, en particulier en ce qui concerne la finance, l'informatique scientifique et le traitement des données. Étant donné que les nombres à virgule flottante sont stockés dans des ordinateurs en tant que valeurs approximatives, nous devons les contourner pour assurer la précision des résultats du calcul. Cet article introduira plusieurs méthodes d'arrondi à point flottant PHP communes.
La fonction rond () est la fonction d'arrondi la plus couramment utilisée en PHP. Il peut arrondir les nombres de points flottants à l'entier le plus proche ou spécifier un certain nombre de décimales. La fonction prend deux paramètres, le premier est un numéro de point flottant à arrondir, et le second est un nombre réservé de décimales.
$num = 1.55;
echo round($num); // Sortir:2
echo round($num, 1); // Sortir:1.6
La fonction de plancher () arrond le numéro de point flottant jusqu'à l'entier le plus proche, tandis que la fonction ceil () arrondit le numéro de point flottant jusqu'à l'entier le plus proche.
$num = 1.55;
echo floor($num); // Sortir:1
echo ceil($num); // Sortir:2
La fonction Number_Format () peut non seulement formater les nombres de points flottants, mais également autour. Cette fonction vous permet de spécifier le nombre de décimales et de retourner la chaîne formatée.
$num = 1.555;
echo number_format($num, 2); // Sortir:1.56
Si un fonctionnement à virgule flottante à haute précision est requis, la bibliothèque de fonctions BCMath de PHP fournit un soutien solide. La fonction BCROUND () peut être arrondie avec une précision spécifiée.
$num = "1.555";
echo bcround($num, 2, PHP_ROUND_HALF_EVEN); // Sortir:1.56
Le choix de la méthode d'arrondi la plus appropriée dépend des besoins de l'application. Les facteurs suivants méritent d'être pris en compte:
En comprenant et en sélectionnant raisonnablement la méthode d'arrondissement du numéro de point flottant, la précision de calcul et la fiabilité des programmes PHP peuvent être efficacement améliorées.