Fließkomma-Zahlenwerte

Fließkomma-Zahlenwerte ("doubles") können durch eine der folgenden Anweisungen zugewiesen werden:


$a = 1.234;
$a = 1.2e3;
     

Die Größe einer Fließkomma-Zahl ist plattformabhängig, dennoch stellt ein Maximum von ~1.8e308 mit einer Genauigkeit von 14 Nachkomma-Stellen einen üblichen Wert dar (das ist 64-Bit im IEEE-Format).

Warnung

Es ist normal, dass einfache Dezimalzahlen wie 0.1 oder 0.7 nicht in ihre internen binären Entsprechungen konvertiert werden können, ohne einen Teil ihrer Genauigkeit zu verlieren. Das kann zu verwirrenden Ergebnissen führen. So wird floor ((0.1 + 0.7) * 10) normalerweise 7 statt des erwarteten Wertes 8 zurück geben (als Ergebnis der internen Entsprechung von 7.9999999999....

Da es unmöglich ist, manche Dezimal-Zahlen durch eine begrenzte Anzahl an Nachkomma-Stellen darzu stellen, ist dies ein Fakt. Dem Wert 1/3 entspricht z.B. der interne Wert von 0.3333333. . ..

Deshalb sollten sie nie den Ergebnissen von Fließkomma-Operationen bis auf die letzte Nachkomma-Stelle glauben oder solche auf Gleichjeit prüfen. Sollten sie einen größere Genauigkeit brauchen, sollten sie die mathematischen Funktionen beliebiger Genauigkeit benutzen.