ホームページ >バックエンド開発 >PHPチュートリアル >PHP が科学表記法で小さな数値を表示するのはなぜですか? それらを小数としてフォーマットするにはどうすればよいですか?
10 進形式を指定しているにもかかわらず、PHP が数値を科学表記法で出力する理由
PHP で、数値が として割り当てられるという問題が発生しました。 000021 は科学表記法では 2.1E-5 として印刷されます。この動作を理解し、解決策を見つけるために、問題を詳しく調べてみましょう。
この問題は、PHP が数値 .000021 を浮動小数点数として解釈するために発生します。 PHP の浮動小数点数の精度には限界があり、小さすぎたり大きすぎたりする場合、多くの場合科学表記法で表示されます。これは、値の精度を維持するために行われます。
この問題を解決し、数値が目的の 10 進形式で印刷されるようにするには、number_format() 関数を使用できます。 number_format() 関数を使用すると、表示する小数点以下の桁数を指定できます。
number_format() を使用した例を次に示します。
$var = .000021; echo number_format($var, 5); // Output: 0.00002
この例では、number_format() を使用して次のことを行います。数値を小数点以下 5 桁でフォーマットすることを指定します。結果として、出力は 0.00002 となり、要件を満たします。
あるいは、sprintf() 関数を使用して同じ結果を達成することもできます。
$var = .000021; echo sprintf("%.5f", $var); // Output: 0.00002
sprintf を使用することにより、 () では、小数点以下 5 桁の浮動小数点数が必要であることを指定します。 number_format() と sprintf() の両方を使用すると、数値の出力形式を制御できるため、目的の結果を達成できます。
以上がPHP が科学表記法で小さな数値を表示するのはなぜですか? それらを小数としてフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。