Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Analyse des PHP-Gleitkommatyps

Detaillierte Analyse des PHP-Gleitkommatyps

小云云
小云云Original
2018-03-08 10:53:572241Durchsuche

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:

PHP-Gleitkomma (Float)

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn