200-199.1 == 0.1 ?
0.3-0.2 == 0.1 ?
工作中遇到几次这样的运算,刚开始也也以为上面的比较肯定是true,看结果
工作中涉及到价格的运算,如果不注意,经常会出现这些问题。
javascript采用的是IEEE-754浮点数表示法,这是一种二进制表示法,具有足够的精度。但事实是,javascript的数字不能精确的表述,常常只是真实值的一个近似表示法。
如果涉及到这些运算,尤其是价格的运算,可以先转化为分,再计算。
200-199.1 == 0.1 ?
0.3-0.2 == 0.1 ?
工作中遇到几次这样的运算,刚开始也也以为上面的比较肯定是true,看结果
工作中涉及到价格的运算,如果不注意,经常会出现这些问题。
javascript采用的是IEEE-754浮点数表示法,这是一种二进制表示法,具有足够的精度。但事实是,javascript的数字不能精确的表述,常常只是真实值的一个近似表示法。
如果涉及到这些运算,尤其是价格的运算,可以先转化为分,再计算。
转载于:https://www.cnblogs.com/oceanxing/archive/2012/10/07/2714573.html