Excel(Office 365)在仅粘贴数字时出现奇怪的错误:
单元格 A1 值 = 1727979.28 单元格 A2 值 = 1678319.54 单元格 A3 公式 = (A2 - A1) -> 结果 = -49659.74
如果我选择并复制 A3 并将特殊粘贴(仅值)粘贴到 A4,则 A4 中的值 = -49659.7399999999 ?!?
这是预期的行为还是我可以改变的某些设置?
答案1
这不是错误。关键在于 Excel 如何存储这些数字,在本例中是点数float
变量,可以看作科学计数法以及数字的除法。这个除法是实数的近似值,所以49659.74
它将被存储为一个紧凑的除法,可以生成一个这样的数字“字符串”,然后它将放置小数点,这就是科学计数法的由来。
对于机器来说,-49659.74
和-49659.7399999999
几乎是相同的。而且在大多数情况下,这已经足够了。如果您只需要使用两位小数,请在公式中加上 ,这样=round(YOUR_FORMULA;2)
您的数字就会四舍五入到两位小数。
微软已经解决了这个问题Excel 如何处理小数。
干杯