Dieser Artikel teilt Ihnen hauptsächlich die detaillierte Analyse des PHP-Gleitkommatyps mit. Ich hoffe, dass jeder ein tieferes Verständnis des PHP-Gleitkommatyps hat.
Gleitkommadaten weisen Genauigkeitsprobleme auf.
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
Durch das obige Beispiel: Es zeigt, dass Gleitkommazahlen nicht verwendet werden sollten, um zu beurteilen, ob sie gleich sind.
Wenn Sie beurteilen müssen, ob zwei Gleitkommazahlen in PHP gleich sind, können Sie die Funktion bccomp verwenden.
0 bedeutet gleich 1 bedeutet größer als -1 bedeutet kleiner als
bccomp (Wert 1, Wert 2, auf mehrere Dezimalstellen genau)
echo bccomp(0.1,(1-0.9),4) ==>> 0;echo bccomp(0.123,0.124,2) ==>> 0;echo bccomp(0.123,0.124,3) ==>> -1;
float kann bis zu 14 Ziffern nach dem anzeigen Komma. Die Kapazitäten von Double und Float in PHP sind gleich.
Gleitkommadaten weisen Genauigkeitsprobleme auf.
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
Durch das obige Beispiel: Es zeigt, dass Gleitkommazahlen nicht verwendet werden sollten, um zu beurteilen, ob sie gleich sind.
Wenn Sie beurteilen müssen, ob zwei Gleitkommazahlen in PHP gleich sind, können Sie die Funktion bccomp verwenden.
0 bedeutet gleich 1 bedeutet größer als -1 bedeutet kleiner als
bccomp (Wert 1, Wert 2, auf mehrere Dezimalstellen genau)
echo bccomp(0.1,(1-0.9),4) ==>> 0;echo bccomp(0.123,0.124,2) ==>> 0;echo bccomp(0.123,0.124,3) ==>> -1;
float kann bis zu 14 Ziffern nach dem anzeigen Komma. Die Kapazitäten von Double und Float in PHP sind gleich.
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse des PHP-Gleitkommatyps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!