Les nombres à virgule flottante (connus aussi sous le
vocable de "double" ou "float"
"nombre rééls") peuvent être
spécifiés en utilisant la syntaxe suivante:
<?php
$a = 1.234;
$a = 1.2e3;
?>
Il est fréquent que de simples fractions décimales telles que
0.1 ou 0.7 ne puissent
être converties au format interne binaire sans une légère perte
de précision. Cela peut conduire à des résultats étonnants :
par exemple, floor((0.1+0.7)*10) retournera
7 au lieu de 8
car le résultat de la représentation interne est
7.9999999999....
Tout ceci est lié au fait qu'il est impossible d'exprimer
certaines fractions en un nombre fini de chiffres. Par exemple
1/3 s'écrira 0.3333333...
en mode décimal.
Ne faites donc jamais confiance aux nombres à virgule
jusqu'à leur dernière décimale, et ne comparez
jamais ces nombres avec l'opérateur d'égalité.
Si vous avez besoin d'une précision particulière,
reportez-vous au traitement des nombres de grande taille avec les
librairies @xref{ref.bc,,BC} ou @xref{ref.gmp,,GMP}.