Transfert d'opération de numéro à virgule flottante PHP vers un problème int

coldplay.xixi
Libérer: 2023-03-02 13:32:01
original
2906 Les gens l'ont consulté

L'opération flottante des nombres à virgule flottante PHP est convertie en type entier : les nombres à virgule flottante en PHP sont des types faibles pour les entiers ou les nombres à virgule flottante dont le résultat est un entier après l'opération, PHP peut les traiter comme des entiers. est [intval(round (floatval($value) * 100))].

Transfert d'opération de numéro à virgule flottante PHP vers un problème int

Opération flottante de nombre à virgule flottante PHP en entier de type int :

Exécutez ce code :

$f = 0.58; var_dump(intval($f * 100.0));
Copier après la connexion

Peut-être pensez-vous qu'il produira 58, mais en fait il en produira 57.
La raison est qu'en tant que données à virgule flottante, une partie de leur précision a été perdue et elles ne peuvent pas être complètement exactes. Ne vous fiez donc jamais à l’exactitude du résultat d’un nombre à virgule flottante jusqu’au dernier chiffre et ne comparez jamais l’égalité de deux nombres à virgule flottante.

Les nombres à virgule flottante en PHP sont faiblement typés. Pour les entiers ou les nombres à virgule flottante dont le résultat après opération est un entier, PHP peut les traiter comme des entiers, mais le type reste inchangé. Mais s'il ne s'agit pas d'un entier après l'opération, alors PHP traitera le résultat comme un nombre à virgule flottante strict

En développement réel, nous pouvons utiliser la logique suivante pour résoudre cette situation

intval(round(floatval($value) * 100));
Copier après la connexion

Recommandations d'apprentissage associées :Programmation PHP de l'entrée à la maîtrise

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:
source:php.cn
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!