在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);