为了账号安全,请及时绑定邮箱和手机立即绑定

php进行加法计算时为什么0.5+0.2+0.2+0.1 不等于1

php进行加法计算时为什么0.5+0.2+0.2+0.1 不等于1

千万里不及你 2019-04-10 20:48:08
$sum=(0.5+0.2+0.2+0.1);//var_dumpfloat(1)$sum2=1//var_dumpint(1)$sum==$sum2//var_dumpbool(false)请问是怎么回事情另外下面的情况经测试是可以的比如说(0.5+0.2+0.3+0.0)==1//var_dumpbool(true)
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

电脑里面二进制表示小数的方法导致精度不够准确
所有的语言都是这样小数的比较一般用
abs(expression)<1e-14(或者其他比很小的数)
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 335 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信