Maison >développement back-end >tutoriel php >Pourquoi mon calcul PHP Float entraîne-t-il une « erreur » au lieu d'un « succès » ?
Les pièges de précision notoires des calculs flottants PHP
Lors de la manipulation de données numériques, la précision est primordiale. Cependant, le type de données float de PHP peut être notoirement délicat, entraînant des inexactitudes inattendues dans les calculs.
Considérez l'extrait PHP suivant :
<code class="php">$fooValue = 100.68; $cowValue = 100.67; $diffValue = $fooValue - $cowValue; if($diffValue <= 0.01) { echo("success"); } else { echo("error"); }</code>
À notre grand étonnement, ce code affiche "erreur" au lieu de le « succès » attendu.
La cause : l'inexactitude des flotteurs
Le coupable est l'inexactitude inhérente des types de données flottants. Lors de la conversion vers et depuis le binaire, la précision peut être perdue. Par conséquent, la comparaison des valeurs flottantes pour une égalité exacte peut s'avérer peu fiable.
Solutions pour les calculs de précision
Pour résoudre ce problème, envisagez les approches suivantes :
Conseils supplémentaires :
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!