num.toFixed(2) = 0.57,100*(num.toFixed(2)) = 56.999999

如题

var a = 0.56999999
undefined
a.toFixed(2)
"0.57"
100*(a.toFixed(2))
56.99999999999999

1.这种情况为什么

2.如何避免这种情况,我要的是100*(a.toFixed(2))得到的整数

阅读 4.5k
2 个回答
  1. 参考 IEEE二进制浮点数算术标准(IEEE 754)

  2. 不可能...100*(a.toFixed(2))得到的整数
    可以考虑 (100*a).toFixed()

推荐问题