この記事では主に PHP 浮動小数点型の詳細な分析を紹介します。皆さんが PHP 浮動小数点型についてより深く理解できることを願っています。
浮動小数点データには精度の問題があります。
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
上記の例を通して、浮動小数点数が等しいかどうかの判断に浮動小数点数を使用すべきではないことを示しています。
PHP で 2 つの浮動小数点数が等しいかどうかを判断する必要がある場合は、bccomp 関数を使用できます。
0 は等しいことを意味します 1 はより大きいことを意味します -1 はより小さいことを意味します
bccomp (値 1、値 2、小数点以下数桁まで正確)
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 は小数点以下 14 桁まで表示できます。 PHP の double と float の容量は同じです。
浮動小数点データには精度の問題があります。
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
上記の例を通して、浮動小数点数が等しいかどうかの判断に浮動小数点数を使用すべきではないことを示しています。
PHP で 2 つの浮動小数点数が等しいかどうかを判断する必要がある場合は、bccomp 関数を使用できます。
0 は等しいことを意味します 1 はより大きいことを意味します -1 はより小さいことを意味します
bccomp (値 1、値 2、小数点以下数桁まで正確)
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 は小数点以下 14 桁まで表示できます。 PHP の double と float の容量は同じです。
関連する推奨事項:
以上がPHP浮動小数点型の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。