一.先看下面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值,却结果不同?(难道小学数学白学了?)
浮点运算BUG,
http://www.cnblogs.com/jiahaipeng/archive/2008/10/29/1321821.html
虽然是些生涩难懂的专题文档把我的问题给解答了,,但还是把“贴”结给你!~
是语言里面的小数都是无限循环小数,你试着string类型试试看呢。double类型0.1实际上是0.09999999...看系统多少位;这个我之前也遇到过。用其他方式比较,或者转换成字符串
转换成字符串?
这个东西如果在金融App里会很麻烦,网上说把小树金额“元”---〉整数金额“分”处理...
但是除了转化字符串办法,肯定还有别的安全方法?
@殷敏峰: 放到js里面的一般没什么安全可言吧,到了后台肯定还是要验证的