PHP浮点数运算精度

PHP有一个BC Math高精确度的数学扩展,它可以为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述。在需要处理数字计算时,不要在简单地使用四则运算,而要用BC Math相关的函数来处理。

1、安装BC Math扩展
本类函数仅在 PHP 编译时配置了 –enable-bcmath 时可用。PHP 的 Windows 版本已内建对此扩展的支持,不需要载入额外的扩展来使用这些函数。如果需要编译安装,请参考PHP安装编译配置里的扩展 

2、BC Math提供的函数
bcadd — 2个任意精度数字的加法计算
bccomp — 比较两个任意精度的数字
bcdiv — 2个任意精度的数字除法计算
bcmod — 对一个任意精度数字取模
bcmul — 2个任意精度数字乘法计算
bcpow — 任意精度数字的乘方
bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
bcscale — 设置所有bc数学函数的默认小数点保留位数
bcsqrt — 任意精度数字的二次方根

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

3、BC Math函数用法

bcscale(3); /设置小数点之后的位数,不设置,默认正整数
echo bcadd('1.234', '5'); // 6.234
echo bcsub('1.234', '5'); // -3.766
echo bcmul('2', '4'); // 8
echo bcdiv('105', '6.55957', 3); // 16.007,设置3位小数点
echo bcmod('4', '2'); // 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值