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))].
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));
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));
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!