首页 新闻 会员 周边

Javascript代码的小小疑问(3)

0
[已解决问题] 解决于 2015-06-03 11:22

一.先看下面2段Js代码(结果不同)

  var x1 = 0.3 - 0.2; var x2 = 0.2 - 0.1; alert(x1 === x2);  //false

      var x1 = 0.1; var x2 = 0.1; alert(x1 === x2);  //true

 

二.疑问

为什么都是0.1值,却结果不同?(难道小学数学白学了?)

Coca-code的主页 Coca-code | 初学一级 | 园豆:10
提问于:2015-06-02 16:31
< >
分享
最佳答案
0

浮点运算BUG,

http://www.cnblogs.com/jiahaipeng/archive/2008/10/29/1321821.html

奖励园豆:5
过于执著 | 菜鸟二级 |园豆:339 | 2015-06-03 09:16

虽然是些生涩难懂的专题文档把我的问题给解答了,,但还是把“贴”结给你!~

Coca-code | 园豆:10 (初学一级) | 2015-06-03 11:24
其他回答(1)
0

是语言里面的小数都是无限循环小数,你试着string类型试试看呢。double类型0.1实际上是0.09999999...看系统多少位;这个我之前也遇到过。用其他方式比较,或者转换成字符串

茂茂 | 园豆:2892 (老鸟四级) | 2015-06-02 16:41

转换成字符串?

这个东西如果在金融App里会很麻烦,网上说把小树金额“元”---〉整数金额“分”处理...

但是除了转化字符串办法,肯定还有别的安全方法?

支持(0) 反对(0) Coca-code | 园豆:10 (初学一级) | 2015-06-02 16:46

@殷敏峰: 放到js里面的一般没什么安全可言吧,到了后台肯定还是要验证的

支持(0) 反对(0) 茂茂 | 园豆:2892 (老鸟四级) | 2015-06-02 16:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册