Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen Float und Double in PHP?
In PHP gibt es keinen Unterschied zwischen Float und Double. Der Gleitkommatyp wird in PHP auch als Gleitkommazahl „Float“, „Double Precision Number Double“ oder „Real Number Real“ bezeichnet. Float, Double oder Real sind dieselben Datentypen und können mit derselben Syntax definiert werden.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 7.1, DELL G3-Computer
Um den Unterschied zwischen Float und Double in zu unterscheiden php verwende ich jeweils den folgenden Code.
$vad = 1.1; print gettype($vad); var_dump($vad);
Dies wird ausgegeben:
double float(1.1)
Es sieht anders aus, aber tatsächlich gibt es in PHP keinen Unterschied. float, double oder real sind vom gleichen Datentyp. Float (auch Float, Double oder Real genannt. Auf der C-Ebene wird alles als Double gespeichert.
Die tatsächliche Größe ist immer noch plattformabhängig. Einzelheiten finden Sie im Handbuch:
http: //www.php.net/ manual/en/sprache.types.float.php
Präzision von Gleitkommazahlen
Gleitkommazahlen haben eine begrenzte Genauigkeit, obwohl PHP je nach System normalerweise das IEEE 754-Format mit doppelter Genauigkeit verwendet. Der maximale relative Fehler, der durch Rundung verursacht wird ist 1,11e-16. Nicht-grundlegende mathematische Operationen können zu größeren Fehlern führen, und die Fehlerfortpflanzung muss bei der Durchführung zusammengesetzter Operationen berücksichtigt werden.
Außerdem können rationale Zahlen wie 0,1 oder 0,7 genau dargestellt werden Egal wie viele Mantissen es gibt, sie werden durch die intern verwendete Binärdatei nicht genau dargestellt und können daher nicht in das Binärformat konvertiert werden, ohne etwas an Präzision zu verlieren. Dies führt zu verwirrenden Ergebnissen: zum Beispiel floor((0.1+ 0.7)*10 ) gibt normalerweise 7 anstelle der erwarteten 8 zurück, da die interne Darstellung des Ergebnisses tatsächlich etwa 7,9999999999999991118 ist ? Wenn Sie wirklich eine höhere Präzision benötigen, sollten Sie mathematische Funktionen mit beliebiger Präzision oder GMP-Funktionen verwenden. Empfohlenes Lernen: „
PHP-Video-Tutorial“Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Float und Double in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!