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()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题