【问题标题】:Excel formatting numbers to scientific notation when saving as an XML Data保存为 XML 数据时 Excel 将数字格式化为科学计数法
【发布时间】:2012-03-01 03:20:24
【问题描述】:

在使用 Excel 2010 时,我尝试将数据保存为 XML 数据文件。然而,一些数字被格式化为使用科学记数法。例如,数字 0.07 导出为 7.00000000007E-2 。我检查了单元格格式,即使单元格格式为文本,它仍然被转换。此外,并非所有数字都被格式化。

希望有人能帮助解决这个奇怪的问题。提前谢谢你。

【问题讨论】:

    标签: xml excel


    【解决方案1】:

    Excel 正在保存 实际 存储值。由于浮点的分辨率有限,数字 7.00000000007E-2 是可以存储在浮点数中的最接近 0.07 的可能表示形式。换句话说,根本不可能将 0.07 完全表示为浮点数(这里可能是双精度数)。

    有关问题的详细描述,请参阅Wikipedia page on Floating Point

    【讨论】:

    • 感谢您的快速回复!但是,单元格最初被格式化为货币,所以对我来说,当它专门设置为货币时,它最初存储为浮点数是没有意义的。您能否详细说明为什么会这样?另外,有什么办法可以防止这种情况发生吗?
    • Excel 中的所有数字数据都存储为浮点数,除非明确制成文本(前导撇号)。如何显示是一个完全独立的概念。
    【解决方案2】:

    这个问题在 2021 年仍然存在,显然只影响 0.07 的值

    在下面链接的论坛上找到了解决方案。按以下方式显示您的方程式:

    =TEXT(C1-C2,"0.00")
    

    其中 C1 和 C2 是减去数据的单元格 (-),它返回指定小数位的值(本例为 2)。查看 .xml 原始文本显示值为 .07

    https://www.excelforum.com/excel-formulas-and-functions/1226643-sum-formula-returns-too-many-decimal-places.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 2014-02-09
      • 1970-01-01
      • 2019-12-16
      相关资源
      最近更新 更多