为什么 Excel 对 C 列舍入小数点后 15 位,对 D 列舍入小数点后 1 位?查看第三个表,以便您可以看到计算器值。
A(标准) | B(标准) | C(数字;30 位小数;公式:A/B) | D(数字;30 位小数;公式:C*B) |
---|---|---|---|
897,8 | 1046,15 | 0,858194331596807000000000000000 | 897,800000000000000000000000000000 |
如果我将 C 列和 D 列设置为标准,则会出现神奇的自动舍入(这是如何工作的?):
A(标准) | B(标准) | C(标准;公式:A/B) | D(标准;公式:C*B) |
---|---|---|---|
897,8 | 1046,15 | 0,858194332(四舍五入至小数点后 9 位) | 897,8(四舍五入至小数点后一位) |
计算器检查:
A | B | C | D |
---|---|---|---|
897,8 | 1046,15 | 0,858194331596807000000000000000(取自表1) | 897,79999999999964305 |
897,8 | 1046,15 | 0,858194332(取自表2) | 897,8000004218 |
897,8 | 1046,15 | 0,85819433159680734120346030683936(A/B 的正确商) | 897,8 |
这是Excel规范和限制这里
按照这个
计算规格和限制
特点 | 最大限制 |
---|---|
数字精度 | 15位数字 |
允许的最小负数 | -2.2251E-308 |
允许的最小正数 | 2.2251E-308 |
允许的最大正数 | 9.99999999999999E+307 |
最大允许负数 | -9.99999999999999E+307 |
通过公式计算允许的最大正数 | 1.7976931348623158e+308 |
通过公式计算允许的最大负数 | -1.7976931348623158e+308 |
General
数字格式保持原样。
Excel 的计算精度保证高达 15 位有效数字,但实际上它的舍入精度仍然很小。但它通常不会显示这些额外的数字(除非我们计划特殊计算)。
在
General
格式中,如果单元格宽度允许,最多可写入 11 位小数(包括小数点,不包括减号)。但内存中的数字精度更高,因此计算结果以 15 位的完整精度呈现。=1000*897,8/1046,15-858
0,194331596807274
0,194331596807274*1046,15 = 203,29999999993
858*1046,15 = 897596,7
= 897799,99999999993