在我的 MS Excel 中,对于不同的数据类型,我有不同的舍入操作行为:
如果是单身:
? Application.Round(6.575!, 2)
6.57
双倍的情况下:
? Application.Round(6.575#, 2)
6.58
有人知道为什么吗?
更新:@paxdiablo给出了一个很好的答案,所以只是在这里很快地复制它:
在单精度中,6.575 在二进制表示中是 0 10000001 101001 0011 0011 0011 0011,或 6.57499980926513671875。这轮到 6.57
在双精度中,添加了更多的 0011,它们的权重足以使数字略大于 6.575(6.57500000000000017763568394003),因此四舍五入为 6.58