php高精度加减乘除

<?php
/**

  • 精确加法
  • @param [type] $a [description]
  • @param [type] $b [description]
    */

function math_add($a,$b,$scale = '2') {
return bcadd($a,$b,$scale);
}

/**

  • 精确减法
  • @param [type] $a [description]
  • @param [type] $b [description]
    */

function math_sub($a,$b,$scale = '2') {
return bcsub($a,$b,$scale);
}

/**

  • 精确乘法
  • @param [type] $a [description]
  • @param [type] $b [description]
    */

function math_mul($a,$b,$scale = '2') {
return bcmul($a,$b,$scale);
}

/**

  • 精确除法
  • @param [type] $a [description]
  • @param [type] $b [description]
    */

function math_div($a,$b,$scale = '2') {
return bcdiv($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 = '5') {
return bccomp($a,$b,$scale); // 比较到小数点位数
}

echo math_add('3.445','3.444')."n"; // 加 6.88
echo math_sub('3.445','3.444')."n"; // 减 0.00
echo math_mul('3.445','3.444')."n"; /

/ 乘 11.86
echo math_div('3.445','3.444')."n"; // 除 1.00
echo math_mod('3.445','3.444')."n"; // 取模 0
echo math_comp('3.445','3.444')."n";// 比较 1

echo math_add('3.445','3.444','3')."n"; // 加 6.889
echo math_sub('3.445','3.444','3')."n"; // 减 0.001
echo math_mul('3.445','3.444','3')."n"; // 乘 11.864
echo math_div('3.445','3.444','3')."n"; // 除 1.000
echo math_mod('3.445','3.444')."n"; // 取模 0
echo math_comp('3.445','3.444')."n";// 比较 1
?>

今天正好要用到bcadd()函数,结果报错,百度下原因是没有安装bcmath扩展。

那就安装呗,搜了一下,我是yum安装的php7.2,扩展也可以yum来安装

1.键入命令 (72W就是php版本,不加有一定的几率报错)

yum install php72w-bcmath

回车;

2.ok,安装完毕,重启服务器 Nginx 或者 Apache

相关文章

发表评论