尽pipe没有关于小数精度的worksheet.xml和styles.xml中存储的信息,Excel如何正确显示小数值?

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

1#创build一个Excel(xlsx)文件,把1234.56789放到一个单元格中,保存。
2#提取.xlsx文件,请参阅sheet1.xml和styles.xml文件。

在xl / worksheets / Sheet1.xml中,您将看到以下内容:

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

Styles.xml中没有关于原始数字1234.56789的精度的1234.56789

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

请注意,我没有更改单元格格式types或任何内容,所以单元格格式为General。

我明白,因为Excel存储的数字为浮点,它不能保存的值,以完美的准确性,我不明白的是如何保留原来的价值,当我在MS Excel中打开。 我在使用OpenXML SDK读取Excel文件时遇到了一个问题,但在询问有关这个问题之前,我正在寻找解决这个更基本问题的答案。

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