Excel 小数计算精度问题
背景
在做金额、折扣、税率、比例这类计算时,我们经常会默认认为:
1
2
3
0.1 + 0.2 - 0.3 = 0
19.99 * 100 = 1999
ROUND(1.255, 2) = 1.26
但是在 Excel 里,这些表达式并不总是符合“十进制心智模型”。问题通常不是 Excel 把公式写错了,而是 Excel 和大多数编程语言一样,底层使用有限精度的二进制浮点数保存和计算数字。
微软文档里也明确提到,Excel 围绕 IEEE 754 浮点规范设计,部分数字和公式会受到舍入或数据截断影响;Excel 的数字精度也限制在 15 位有效数字左右。
这篇文章记录一次复现:
阅读更多