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

为什么js里面 0.1+0.2=0.30000000000000004?

为什么js里面 0.1+0.2=0.30000000000000004?

梵蒂冈之花 2019-02-12 17:33:19
var a =0.1;var b =0.2;log(a+b)//0.30000000000000004这是什么原因
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

本质是因为浮点数的问题。

其实不用想的太复杂,你把0.1换算成二进制的形式就知道,它的二进制表示是一个无限循环的数。也就说实际上保存到内存里的0.1是一个近似值。

然后一个近似于0.1的二进制数再转回10进制,就会出现这种问题。


查看完整回答
反对 回复 2019-02-19
  • 1 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号