ubuntu 18.04安裝bcmath插件
sudo apt-get install php7.0-bcmath
centos安裝
yum install php72w-bcmath
windows版本的php自帶,無需另外安裝
函數的使用
// 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