Maison  >  Article  >  développement back-end  >  Problème de précision en virgule flottante PHP

Problème de précision en virgule flottante PHP

藏色散人
藏色散人avant
2019-11-18 14:31:232824parcourir

Lorsque vous utilisez php+ - * / pour calculer des nombres à virgule flottante, vous pouvez rencontrer des problèmes avec des résultats de calcul incorrects, comme suit :

<?php
    echo intval(0.58 * 100); //输出57
?>

Solution

<?php
    echo bcmul(0.58, 100); //输出58
?>

Recommandé : "Tutoriel PHP"

● PHP fournit une bibliothèque de fonctions de haute précision BC pour gérer ce problème

● bcadd — Ajouter deux nombres de haute précision

● bcsub — Soustraire deux nombres de haute précision

● bcmul — Multiplier deux nombres de haute précision

● bcdiv — Diviser deux nombres de haute précision

● bccomp — Compare

● bcpowmod — Trouvez la puissance et le module numériques de haute précision, très couramment utilisés en théorie des nombres

● bcscale — Configurez le nombre de points décimaux par défaut, qui est équivalent à "scale=" sous Linux bc

Quantity bcsqrt — Trouver la racine carrée d'un nombre de haute précision

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer