PHP不能精确表达小数 PHP除法结果不准确 php 为什么数字除法不准确 PHP浮点数运算不准确的问题...
echo intval(0.58*100);//结果为57
echo intval((0.1 + 0.7) * 10);//结果为7
产生这样的原因是计算机内部对部分浮点数不能准确地用二进制表示,就像我们不能用十进制准确表示10/3一样.
所以对于浮点数来计算金额这些敏感的数据,推荐使用PHP的BC函数
BCMath 任意精度数学
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个任意精度数字的减法
---------------------
作者:清风169
来源:CSDN
原文:https://blog.csdn.net/weixin_37909391/article/details/80911087
版权声明:本文为博主原创文章,转载请附上博文链接!
转载于:https://www.cnblogs.com/stillstep/p/11063142.html
总结
以上是生活随笔为你收集整理的PHP不能精确表达小数 PHP除法结果不准确 php 为什么数字除法不准确 PHP浮点数运算不准确的问题...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: IP判断
- 下一篇: php下使用 $_FILE