Problème de précision en virgule flottante PHP

藏色散人
Libérer: 2023-04-07 20:04:02
avant
2851 Les gens l'ont consulté

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
?>
Copier après la connexion

Solution

<?php
    echo bcmul(0.58, 100); //输出58
?>
Copier après la connexion

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!

Étiquettes associées:
php
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal