尽管工作表中没有存储有关小数点精度的信息.xml.xml样式,Excel 如何正确显示十进制值



以下是我检查行为的步骤:

1#创建一个Excel(xlsx)文件,将1234.56789放入单元格中,保存。
2# 解压缩.xlsx文件,参见 sheet1.xml 和样式.xml文件。

在xl/工作表/工作表1中.xml您将看到以下内容:

<sheetData><row r="1" spans="1:1" x14ac:dyDescent="0.25"><c r="A1" s="1"
<v>25778.567889999998</v>
</c></row></sheetData>

并且样式中没有关于原始数字精度的信息.xml这是1234.56789的。

当我们在MS Excel中打开原始值时,Excel如何显示原始值?
尽管提取的文件中没有信息,但它如何重建原始数字?

请注意,我没有更改单元格格式类型或任何东西,因此单元格格式为常规。

我知道,由于Excel将

数字存储为浮点数,因此无法将值保存为完美的精度,我不明白的是当我在MS Excel中打开该值时它如何保留原始值。我面临着有关使用 OpenXML SDK 读取 Excel 文件的问题,但在询问该问题之前,我正在寻找这个更基本问题的答案。

它只是将输入精度限制为 15 位,例如尝试将25778.567889999955放入单元格中并看到它立即转换为(在 Excel 本身中)25778.5678899999并且1.23456789123456789变得1.23456789123456。有关数字表示内部及其如何影响计算的更多详细信息,请参阅这篇精彩的维基百科文章。

最新更新