首页 新闻 会员 周边 捐助

js,一个计算问题

0
[已解决问题] 解决于 2013-03-30 16:40

如图,左变,输入56后,右边出现三条计算的结果,我现在要验证左右是否相等,然后我jquery 获取三条数据,然后相加,然后跟56对比,看看是否相等。

奇怪的是他们相加会出现不相等,右边相加会出现55.9999999...这样的数据,啥问题啊?

我已经用parsefloat,这个函数转化了啊,我alert看了,我获取的值是没问题的,就相加就会出现这个问题

问题补充:

就是18.7+18.7+18.6 不会等于56,而是55.99999999,这样鞥的数据,咋回

夜星冷的主页 夜星冷 | 初学一级 | 园豆:71
提问于:2013-03-30 15:56
< >
分享
最佳答案
0

如果有重要的数据操作,还是不要用JS来计算

比如0.15+0.15=0.3, 而 0.1+0.2等于 0.30000000000000004,  所以不要做 (a+b==0.3)这类的比较

楼主可以看下JavaScript高级程序设计(第2版),里面有提到这个问题。具体页数我就忘记了哈。

奖励园豆:5
.! | 菜鸟二级 |园豆:402 | 2013-03-30 16:39

谢谢,就这个破问题。真坑爹

夜星冷 | 园豆:71 (初学一级) | 2013-03-30 16:40
其他回答(1)
0

不要用javascript做精确的浮点运算

tubo | 园豆:264 (菜鸟二级) | 2013-03-30 16:07

事实是,真的比较坑爹,有的计算没问题,有的就不行,难道我还要用ajax 穿服务端搞一下啊

支持(0) 反对(0) 夜星冷 | 园豆:71 (初学一级) | 2013-03-30 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册