js读取excel其中一列中的一个值是0.3556但是读出来是0.35559999999999997?

js读取excel其中一列中中的一个值是0.3556但是读出来是0.35559999999999997, 但是如果手动把0.3556删掉, 手动写上, 就没事了,这是为什么呢?

阅读 3.5k
3 个回答

你直接输入 0.3556 就可以正常,说明可能是好事的微软给 0.35559999999999997 四舍五入显示成 0.3556 了。


微软可能是基于以下考虑:

  1. 如果两个数 a, b 的差很小很小的时候,这时候可以认为 a 等于 b 。

  2. 小数很多的时候不好看

新手上路,请多包涵

excel我记得有个设置是可以给单元格规定小数点后精确到几位,可能是这个设置隐藏了后面的那些位。

估计在excel中,这列数字的精读较高,可能是long型,js表示long型的数字都有问题

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