js读取excel其中一列中中的一个值是0.3556但是读出来是0.35559999999999997, 但是如果手动把0.3556删掉, 手动写上, 就没事了,这是为什么呢?
认证0级讲师
你直接输入 0.3556 就可以正常,说明可能是好事的微软给 0.35559999999999997 四舍五入显示成 0.3556 了。
微软可能是基于以下考虑:
如果两个数 a, b 的差很小很小的时候,这时候可以认为 a 等于 b 。 小数很多的时候不好看
如果两个数 a, b 的差很小很小的时候,这时候可以认为 a 等于 b 。
小数很多的时候不好看
excel我记得有个设置是可以给单元格规定小数点后精确到几位,可能是这个设置隐藏了后面的那些位。
估计在excel中,这列数字的精读较高,可能是long型,js表示long型的数字都有问题
你直接输入 0.3556 就可以正常,说明可能是好事的微软给 0.35559999999999997 四舍五入显示成 0.3556 了。
微软可能是基于以下考虑:
excel我记得有个设置是可以给单元格规定小数点后精确到几位,可能是这个设置隐藏了后面的那些位。
估计在excel中,这列数字的精读较高,可能是long型,js表示long型的数字都有问题