浅谈PHP数学计算BC库

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

执行结果

posted @ 2022-04-27 20:05  Death-Satan  阅读(378)  评论(0编辑  收藏  举报