【发布时间】:2012-03-01 03:20:24
【问题描述】:
在使用 Excel 2010 时,我尝试将数据保存为 XML 数据文件。然而,一些数字被格式化为使用科学记数法。例如,数字 0.07 导出为 7.00000000007E-2 。我检查了单元格格式,即使单元格格式为文本,它仍然被转换。此外,并非所有数字都被格式化。
希望有人能帮助解决这个奇怪的问题。提前谢谢你。
【问题讨论】:
在使用 Excel 2010 时,我尝试将数据保存为 XML 数据文件。然而,一些数字被格式化为使用科学记数法。例如,数字 0.07 导出为 7.00000000007E-2 。我检查了单元格格式,即使单元格格式为文本,它仍然被转换。此外,并非所有数字都被格式化。
希望有人能帮助解决这个奇怪的问题。提前谢谢你。
【问题讨论】:
Excel 正在保存 实际 存储值。由于浮点的分辨率有限,数字 7.00000000007E-2 是可以存储在浮点数中的最接近 0.07 的可能表示形式。换句话说,根本不可能将 0.07 完全表示为浮点数(这里可能是双精度数)。
有关问题的详细描述,请参阅Wikipedia page on Floating Point
【讨论】:
这个问题在 2021 年仍然存在,显然只影响 0.07 的值
在下面链接的论坛上找到了解决方案。按以下方式显示您的方程式:
=TEXT(C1-C2,"0.00")
其中 C1 和 C2 是减去数据的单元格 (-),它返回指定小数位的值(本例为 2)。查看 .xml 原始文本显示值为 .07
【讨论】: