需要先安装php-bcmath

php中bcmath相关函数使用

// bcscale — 设置所有bc数学函数的默认小数点保留位数
bcscale(3);  // 返回布尔型 true 不指定位数,下面默认为保留小数3位
 
$a = '6.789';
$b = '1.2345';
 
// bcadd — 2个任意精度数字的加法计算
echo bcadd($a, $b);     // 8.023
echo bcadd($a, $b, 6);  // 8.023500
 
// bcsub — 2个任意精度数字的减法
echo bcsub($a, $b);     // 5.554
echo bcsub($a, $b, 6);  // 5.554500
 
// bcmul — 2个任意精度数字乘法计算
echo bcmul($a, $b);     // 8.381
echo bcmul($a, $b, 6);  // 8.381020
 
// bcdiv — 2个任意精度的数字除法计算
echo bcdiv($a, $b);     // 5.499
echo bcdiv($a, $b, 6);  // 5.499392
 
// bccomp — 比较两个任意精度的数字
echo bccomp('1', '2');   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1
 
// bcmod — 对一个任意精度数字取模 $a%$b
echo bcmod(5, 3);     // 2.000
echo bcmod(3, 5, 6);  // 3.000000
 
// bcpow — 任意精度数字的乘方
echo bcpow(2.11, 3);     // 9.393
echo bcpow(2.11, 3, 6);  // 9.393931
 
// bcsqrt — 任意精度数字的二次方根
echo bcsqrt('27', 4);     // 5.1961;27的二次平方根, 保留4位
 
// bcpowmod 先取模后乘方
echo bcmod(bcpow(2, 3), 3);  // 2.000;2*2*2%3=2
echo bcpowmod(2, 3, 3);     // 2.000