Präzision von PHP-Gleitkommazahlen: Das Unerwartete entmystifizieren
In PHP können Gleitkommazahlen aufgrund der inhärenten Natur von Binärzahlen zu unerwarteten Ergebnissen führen Arithmetik. Im Gegensatz zu reellen Zahlen werden binäre Gleitkommazahlen mit begrenzter Genauigkeit dargestellt, was zu Näherungen und möglichen Ungenauigkeiten führt.
Betrachten Sie das Beispiel:
$a = '35'; $b = '-34.99'; echo ($a + $b);
Dies gibt 0,009999999999998 statt der erwarteten 0,01 aus. Dies liegt daran, dass 34,99 und 0,01 nicht präzise binär dargestellt werden können, was zu einer ungefähren Darstellung führt.
Um dieses Problem zu lösen, ziehen Sie die folgenden Alternativen in Betracht:
Es ist erwähnenswert, dass PHP keinen dezidierten Dezimaldatentyp hat, der in anderen Sprachen zu finden ist, was möglicherweise verbessert werden könnte Genauigkeit in bestimmten Szenarien. Wenn Entwickler jedoch die Einschränkungen der Gleitkomma-Arithmetik verstehen, können sie unerwartete Ergebnisse abmildern und genaue Berechnungen sicherstellen.
Das obige ist der detaillierte Inhalt vonWarum sind PHP-Gleitkommazahlen ungenau und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!