ホームページ > バックエンド開発 > PHPチュートリアル > PHP浮動小数点型の詳細な分析

PHP浮動小数点型の詳細な分析

小云云
リリース: 2023-03-20 21:36:02
オリジナル
2251 人が閲覧しました

この記事では主に 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 浮動小数点 (Float)

以上がPHP浮動小数点型の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート