在PHP中,有一个专门用于科学计算的函数库BC
常用的函数成员有
函数名 | 应用场景 |
bcadd | 2个任意精度数字的加法计算 |
bcmul | 2个任意精度数字乘法计算 |
bcsub | 2个任意精度数字的减法计算 |
bcdiv | 2个任意精度的数字除法计算 |
bccomp | 比较2个任意精度的数字 |
bcmod | 对一个任意精度数字取模 |
bcpow | 任意精度数字的乘方 |
bcpowmod | 将任意精度的基数提高到另一个按指定模数减少的指数 |
函数示例
bcadd 前两个参数是用于计算的数值,第三个参数是保留计算后的数值小数点后多少位,这里我保留了小数点3位
bcadd函数示例
$number = 1.231; $number1 = 1.324; $result = bcadd($number,$number1,3); var_dump($number+$number1,$result);
执行结果
bcmul 前两个参数是用于计算的数值,第三个参数是保留计算后的数值小数点后多少位,这里我保留了小数点3位
bcmul示例代码
$number = 1.231; $number1 = 1.324; $result = bcmul($number,$number1,3); var_dump($number*$number1,$result);
执行结果
bcsub 前两个参数是用于计算的数值,第三个参数是保留计算后的数值小数点后多少位,这里我保留了小数点3位
bcsub示例代码
$number = 1.231; $number1 = 1.324; $result = bcsub($number,$number1,3); var_dump($number-$number1,$result);
执行结果
bcdiv 前两个参数是用于计算的数值,第三个参数是保留计算后的数值小数点后多少位,这里我保留了小数点3位
bcdiv示例代码
$number = 2.5; $number1 = 0.5; $result = bcdiv($number,$number1,1); var_dump($number/$number1,$result);
执行结果
bccomp 前两个参数是用于比较的数值,第三个参数是参与计算的数值小数点后多少位
bccomp示例代码
$number = 2.5; $number1 = 2.6; $result = bccomp($number,$number1,1);//比较两个数值是否相等 $result1 = bccomp($number,$number1,0);//比较两个数值是否相等 var_dump($result,$result1);
执行结果
bcmod
bcmod示例代码
$number = 2; $number1 = 26; $result = bcmod($number,$number1); $result1 = bcmod($number1,$number); var_dump($result,$result1);
执行结果
bcpow 任意一个数值的乘方 第二个参数是乘方的次数 第三个参数是保留小数点后多少位
bcpow
$number = 2.5; $result = bcpow($number,2,2); var_dump($result);
执行结果
bcpowmod 第二个参数是乘方的次数 第三个参数是要取的模数 第四个参数是保留小数点后多少位
bcpowmod示例代码
$number = 2; $result = bcpowmod($number,2,2,2); var_dump($result);