0
PHPは非常に小さな数値を丸めずに処理できますか?たとえば、exp(-99) + 1/2
を計算する場合、phpはこれを0.5
と計算します。後で私が与えられた結果を掛けたいと思っているのであれば、これは問題です。PHPが小数を丸めるのを防ぐ
echo exp(-99) + 1/2 // Outputs 0.5
PHPは非常に小さな数値を丸めずに処理できますか?たとえば、exp(-99) + 1/2
を計算する場合、phpはこれを0.5
と計算します。後で私が与えられた結果を掛けたいと思っているのであれば、これは問題です。PHPが小数を丸めるのを防ぐ
echo exp(-99) + 1/2 // Outputs 0.5
浮動小数点数でサポートされている範囲外です。私のプラットフォームで
(PHPの浮動小数点数は64ビットです)echo exp(-99);
戻りcurrectly 1.0112214926104E-43
指数部は、私が追加としてe^-99
しかしを表現するenought広いためだ... echo exp(-99)+0.5;
私は0.5
あなたが期待する結果は、50桁以上の10進数を持つものになります。
二重浮動小数点には、そのような大きな仮数はありません(通常、上限は約18-20小数です)。
をPHPは」doesnの:あなたは本当にあなたがPHPの任意精度数学拡張子を使用することができます(彼らにを丸めずに、非常に小さな数字を扱う)、このような計算を行うために必要がある場合は、あなたの質問に答えるために
tエコー "1/2"。問題を強調する実際のコードと出力(a [mcve])を表示します。 –
私のPHPエコーの@JonathonReinhartは '0.5'を返します。 @Joshhhは浮動小数点数について読んでいます - 彼らは** PRECISION **のようなものを持っています。それについて読む。そして覚えておいてください - 浮動小数点数はあなたの頭の中だけです。 0.5 $は50セントです。あなたはあなたの考えを変えるべきでしょうか? – ventaquil