この記事では、超長い (超大きな) 数値演算を使用して数値が科学表記法で表示されないようにする PHP の方法を主に紹介し、PHP の数学演算と文字列演算の関連スキルを説明します。お役に立てれば幸いです。この記事では、PHP が超長い (超大きい) 数値演算を使用して数値が科学的表記法で表示されないようにする方法の例を説明します。参考のために共有したいと思います。
詳細は次のとおりです:
数値が大きすぎると、PHP でエラーが発生します。そこで、PHP で加算、減算などの非常に大きな数値演算を実行する方法を説明します。乗算と除算、べき乗演算、平方根、および剰余演算についてはどうでしょうか?
科学的記数法の問題を解決するには、値を割り当てるときに一対の引用符を追加するだけです。
例:
<?php $n = '22222222222222222222222222220'; echo $n; ?>
If you'd引用符を追加すると、2.2222222222222E+28 が表示されます。引用符を追加すると、2222222222222222222222222220 が表示されます。
加算、減算、乗算、除算、累乗演算、平方根、および剰余演算を含む、非常に大きな数値演算
。 PHP の bcmath 関数を使用してカスタム関数を作成します。コードは次のとおりです。
<?php function calc($m,$n,$x){ $errors=array( '被除数不能为零', '负数没有平方根' ); switch($x){ case 'add': $t=bcadd($m,$n); break; case 'sub': $t=bcsub($m,$n); break; case 'mul': $t=bcmul($m,$n); break; case 'p': if($n!=0){ $t=bcp($m,$n); }else{ return $errors[0]; } break; case 'pow': $t=bcpow($m,$n); break; case 'mod': if($n!=0){ $t=bcmod($m,$n); }else{ return $errors[0]; } break; case 'sqrt': if($m>=0){ $t=bcsqrt($m); }else{ return $errors[1]; } break; } $t=preg_replace("/\..*0+$/",'',$t); return $t; } /*用法举例*/ echo calc('11111111111111111111111111111111110','10','add'); ?>
使用法:
calc(parameter 1 parameter 2, parameter 3);
Parameter 3 は演算方法を指定します: add、subtract、mul、divid by p、pow、modulo、sqrt の累乗で算術平方根を求めます
加算、減算、除算: パラメーター 1 パラメーター 2 を加算/減算/乗算/除算します
べき乗: パラメーター 1 のパラメーター 2 の累乗です。
モジュール:パラメーター 1 をパラメーター 2 で除算した余り。
算術平方根: パラメーター 1 の算術平方根を求めます。 パラメーター 2 は影響しませんが、省略できません。
関連の推奨:
以上が数値が科学的表記法で表示されないようにするために長い桁の数値演算を使用する PHP の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。