Fließkomma-Zahlenwerte
Fließkomma-Zahlenwerte ("floats", "doubles" oder "reelle Zahlen")
können durch eine der folgenden Anweisungen zugewiesen werden:
Formell:
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 entspricht 64-Bit
im IEEE-Format).
| Fließkomma Präzision |
Es ist ziemlich normal, dass einfache Dezimalzahlen wie
0.1 oder 0.7 nicht in ihre
internen binären Entsprechungen konvertiert werden können, ohne
einen kleinen 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....
Das gründet sich auf die Tatsache, dass es unmöglich ist, manche
Dezimal-Zahlen durch eine endliche Anzahl an Nachkomma-Stellen
darzustellen. 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 trauen
und nie solche auf Gleichheit prüfen. Benötigen Sie wirklich eine
größere Genauigkeit, sollten sie die mathematischen Funktionen beliebiger
Genauigkeit oder die Gmp
Funktionen benutzen.
|
Umwandlung nach float
Für Informationen darüber, wann und wie Strings in Float
umgewandelt werden, lesen Sie bitte den Abschnitt Umwandlung von Strings
in Zahlen. Für die Werte anderer Typen ist die Umwandlung
diesselbe, wie wenn der Wert in eine Ganzzahl und dann in einen
Float umgewandelt worden wäre. Für weitere Informationen siehe
Abschnitt Umwandlung nach
integer.
|