ホームページ  >  記事  >  バックエンド開発  >  PHP精密計算機能

PHP精密計算機能

墨辰丷
墨辰丷オリジナル
2018-05-30 11:02:163173ブラウズ

この記事では、主に PHP の正確な計算機能を紹介し、bcadd、bcsub、bcmul、bcp の使用スキルを含め、例の形で加算、減算、乗算、除算などの数学演算を実行するための PHP の正確な方法を分析します。およびその他の機能が必要な場合は、以下を参照してください。

はじめに: データの正確性を必ず確認してください。これは優れたプログラマーの基本的な資質です。

<?php
/**
 * 精确加法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_add($a,$b,$scale = &#39;2&#39;) {
  return bcadd($a,$b,$scale);
}
/**
 * 精确减法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_sub($a,$b,$scale = &#39;2&#39;) {
  return bcsub($a,$b,$scale);
}
/**
 * 精确乘法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_mul($a,$b,$scale = &#39;2&#39;) {
  return bcmul($a,$b,$scale);
}
/**
 * 精确除法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_p($a,$b,$scale = &#39;2&#39;) {
  return bcp($a,$b,$scale);
}
/**
 * 精确求余/取模
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_mod($a,$b) {
  return bcmod($a,$b);
}
/**
 * 比较大小
 * @param [type] $a [description]
 * @param [type] $b [description]
 * 大于 返回 1 等于返回 0 小于返回 -1
 */
function math_comp($a,$b,$scale = &#39;5&#39;) {
  return bccomp($a,$b,$scale); // 比较到小数点位数
}
echo math_add(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 加 6.88
echo math_sub(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 减 0.00
echo math_mul(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 乘 11.86
echo math_p(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 除 1.00
echo math_mod(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 取模 0
echo math_comp(&#39;3.445&#39;,&#39;3.444&#39;)."\n";// 比较 1
echo math_add(&#39;3.445&#39;,&#39;3.444&#39;,&#39;3&#39;)."\n"; // 加 6.889
echo math_sub(&#39;3.445&#39;,&#39;3.444&#39;,&#39;3&#39;)."\n"; // 减 0.001
echo math_mul(&#39;3.445&#39;,&#39;3.444&#39;,&#39;3&#39;)."\n"; // 乘 11.864
echo math_p(&#39;3.445&#39;,&#39;3.444&#39;,&#39;3&#39;)."\n"; // 除 1.000
echo math_mod(&#39;3.445&#39;,&#39;3.444&#39;)."\n"; // 取模 0
echo math_comp(&#39;3.445&#39;,&#39;3.444&#39;)."\n";// 比较 1
?>

以上がこの記事の全内容です、皆様の勉強に少しでもお役に立てれば幸いです。


関連する推奨事項:

PHP で戻り値がない exec() 関数のトラブルシューティング方法

Thinkphpトランザクション操作の例の詳細な説明

php実装入手のIPとURLの方法

以上がPHP精密計算機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。