PHPで以下のコードを検討してください
$a = 8425996523 * 121212713;
$b = sprintf('%.2f', $a);
$mul = gmp_mul("8425996523", "121212713");
出力は
1.0213378982814E+18
1021337898281396864.00
1021337898281396899
実際の答えは1021337898281396899 です。したがって、 gmp_mulのようなライブラリを使用して大きな数を計算する必要があることは明らかです。
私の質問は、そのようなエラーを特定する方法ですか? つまり、PHP が次のような計算を行うとき
8425996523 * 121212713
、結果が正しくないことをどのように確認できますか?
私が見る 1 つの方法は、E をチェックし、そのような数値を強制的に変換するたびにエラーが発生すると想定することです。