PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装


<?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

 

原文:https://www.cnblogs.com/jiqing9006/p/5819087.html

posted @ 2019-07-24 10:28  艾薇-Ivy  阅读(29183)  评论(0编辑  收藏  举报