php bc函数 500,PHP BC数学函数

对于任意精度的数学,PHP提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1)

所有格式都是bcxxx(

math?formula=left_operand%2Cright_operand, $scale = null)

所有函数得到的都是去尾法的结果

bcscale — 设置所有bc数学函数的默认小数点保留位数

再使用bc函数之前,可以先设置保留小数点数

bcadd — 2个任意精度数字的加法计算

bcadd (

math?formula=left_operand%2Cright_operand, $scale = null)

第三个参数设置结果中小数点后的小数位数,如果不设置,默认是0,得到的去尾法的结果

echo bcadd (1.2,1.9); #结果3 相加结果3.1,去尾法得3

echo bcadd (1.2,1.7); #结果2 相加结果2.9,去尾法得3

echo bcadd (1.219,1.919,2); #结果3.13,3.138,去掉最后一个,再保留2位小数

echo bcadd (1.299,1.709,2); #结果3.00 ,3.008 去掉最后一个,再保留2位小数

bccomp — 比较两个任意精度的数字

bccomp (

math?formula=left_operand%2Cright_operand, $scale = null)

如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.

echo bccomp (1.219,1.210,3); #输出1 设置了3位小数,就全部对比,1.219>1.210

echo bccomp (1.219,1.210,2); #输出0 设置了3位小数,去尾法以后再对比,1.21=1.21,所以返回0

bcdiv — 2个任意精度的数字除法计算

bcdiv (1.219,1.210,3); #1.007

bcmod — 对一个任意精度数字取模

没有第三个参数,不能设置小数点

bcmod (1.219,1.210); #0,取模

bcmod (1.219,1.210); #0,取模

bcmod (1219,1210); #9,取模

bcmul — 2个任意精度数字乘法计算

echo bcmul (1.219,1.210,3); #1.474

echo bcmul (1.219,1.210,2); #1.47

echo bcmul (1.219,1.210,1); #1.4

bcpow — 任意精度数字的乘方

bcpow() 第二个参数必须是整数,允许负整数,不能为小数

pow()第二个参数就允许小数

echo bcmul (1.219,2,3); #1.485

echo bcmul (1.219,3,2); #1.81

echo bcmul (1.219,3,1); #1.8

bcpowmod — 将任意精度数字提高到另一个精度,并将其降低到指定的模量

string bcpowmod ( string x, string y, string modulus [, int scale] )

先计算 x ,y 的二数之幂,再取余。

bcpowmod($x, $y, $mod);

#等价于

bcmod(bcpow($x, $y), $mod);

bcsqrt — 任意精度数字的二次方根

只有两个参数,被开方数与保留小数点位数

echo bcsqrt (4,2); #2

echo bcsqrt (5,2);#2.23

bcsub — 2个任意精度数字的减法

第一个参数减去第二个参数

echo bcsub (4,2,2); #2.00 4-2得出结果再保留2位小数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值