Les nombres à virgule flottante

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

 
;

 
?





Précision des nombres à virgule flottante

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 BC ou GMP .