PHP の浮動小数点計算: 精度の制限について
PHP の float データ型は、他の多くのプログラミング言語の浮動小数点データ型と同様に、数値の不正確な表現。この不正確さは、コンピュータに数値データを保存するために使用される 10 進数の 10 進数と 2 進数の 2 進数の変換から発生します。
その結果、浮動小数点計算では期待値からの予期せぬ偏差が発生する可能性があります。 。たとえば、上記のコード スニペット
<code class="php">$fooValue = 100.68; $cowValue = 100.67; $diffValue = $fooValue - $cowValue; if($diffValue <= 0.01) { echo("success"); } else { echo("error"); }</code>
は、定義された値に基づいて「成功」を出力すると予想される場合でも、「エラー」を出力します。
精度の問題
PHP でこれらの精度制限に対処するには、次の代替メソッドを使用できます。
以上がPHP での浮動小数点計算で予期しない結果が生じることがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。