PHP浮点精度问题

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP浮点精度问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

使用php+ - * /计算浮点数的时候,可能会遇到一些计算结果错误的问题,如下:

<?php
    echo intval(0.58 * 100); //输出57
?>

解决办法

<?php
    echo bcmul(0.58, 100); //输出58
?>

php提供了BC高精确度函数库处理此问题

  • bCADd — 将两个高精度数字相加

  • bcsub — 将两个高精度数字相减

  • bcmul — 将两个高精度数字相乘

  • bcdiv — 将两个高精度数字相除

  • bccomp — 比较两个高精度数字,返回-1, 0, 1

  • bcmod — 求高精度数字余数

  • bcpow — 求高精度数字乘方

  • bcpowmod — 求高精度数字乘方求模,数论里非常常用

  • bcscale — 配置默认小数点位数,相当于就是Linux bc中的”scale=”

  • bcsqrt — 求高精度数字平方根

脚本宝典总结

以上是脚本宝典为你收集整理的PHP浮点精度问题全部内容,希望文章能够帮你解决PHP浮点精度问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。