Nombres d�cimaux

Les nombres d�cimaux, (aussi connus comme nombres � virgule flottante, "floats", "doubles", ou "real numbers") peuvent �tre sp�cifi�s en utilisant les syntaxes suivantes :

<?php
$a 
1.234;
$b 1.2e3;
$c 7E-10;
?>

Formellement :

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

La taille d'un nombre d�cimal est d�pendant de la plate-forme, cependant, un nombre maximal de ~1.8e308 avec une pr�cision sur 14 chiffres est une valeur commune (format 64 bits IEEE).

Avertissement

Pr�cision des nombres d�cimaux

Typiquement, une simple fraction d�cimale comme 0.1 ou 0.7 ne peut �tre convertie en sa repr�sentation binaire interne sans perte de pr�cision. Ceci peut porter � confusion : par exemple, floor((0.1+0.7)*10) retournera 7 au lieu de 8 comme cela pourrait se pr�voir, car la repr�sentation interne serait quelque chose comme 7.9.

Ceci est d� au fait qu'il est impossible d'exprimer quelques fractions en une notation d�cimale avec une infinit� de chiffres. Actuellement, 1/3, en d�cimal, devient 0.3.

Ainsi, ne faite jamais confiance aux derniers chiffres d'un nombre d�cimal, mais aussi, ne comparez jamais l'�galit� de 2 nombres d�cimaux. Si vous avez besoin d'une haute pr�cision, les fonctions math�matiques de pr�cision et les fonctions gmp sont disponibles.

Conversion en un nombre d�cimal

Pour plus d'informations sur la conversion de cha�nes en nombres d�cimaux , voir la section sur la conversion de cha�nes en nombres d�cimaux. Pour les valeurs d'autres types, la conversion est effectu�e en convertissant tout d'abord la valeur en un entier, puis, en nombre d�cimal. Voir la section sur la conversion en entier pour plus d'informations. Depuis PHP 5, une notice est �mise si un objet est converti en nombre d�cimal.