首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能确认Microsoft Excel 2007如何在内部表示数字吗?

有人能确认Microsoft Excel 2007如何在内部表示数字吗?
EN

Stack Overflow用户
提问于 2010-05-12 08:41:11
回答 3查看 937关注 0票数 5

我对IEEE754浮点标准了如指掌,因为我必须为了考试而学习它。我很清楚浮点数是如何使用的,以及它们可能会遇到的问题。我可以手动对浮点数的二进制表示进行任何操作。

然而,我还没有找到一个明确声明excel使用64位浮点数在内部表示excel中除文本之外的每个单元格“类型”的来源。我不知道一些类型是使用有符号整数还是无符号整数,还有一些类型使用64位浮点数。

我已经找到了数以万亿计的文章,这些文章1)描述了浮点数,然后2)讨论了由于浮点数而要小心使用excel。我没有找到一条语句说“除文本外,所有类型都是64位浮点数”。我没有发现一条语句说“改变一个单元格的类型只会改变它的视觉表示,而不会改变它的内部表示,除非你把类型从文本改成了其他非文本的类型,或者你把非文本的类型改成了文本”。

这就是我想知道的所有内容,它是如此简单和不言自明,以至于我惊讶地发现,我可以找到数万亿篇文章和页面,这些文章和页面围绕着这些陈述,但没有直接陈述它们。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-12 09:23:50

Excel2007支持OpenXML格式,它是一个包含大量XML文件的ZIP文件(.XLSX)。有一个使用OpenXML格式的软件开发工具包,你可以在here上获得它的文档,并下载它的here

基本上,数字以纯文本的形式存储在一个元素中,因此,如果单元格A1在UI中的数字为42,单元格A2的数字为81.56,则该XML将看起来像下面的XML片段:

代码语言:javascript
复制
<row r="1" spans="1:2">
    <c r="A1">
        <v>42</v>
    </c>
    <c r="B1">
        <v>81.569999999999993</v>
    </c>
</row>

当使用OpenXML时,我强烈建议您只使用SDK,而不是自己去追求它。

票数 3
EN

Stack Overflow用户

发布于 2010-05-12 08:47:48

This page具有对内部Excel数据类型的引用。

票数 3
EN

Stack Overflow用户

发布于 2010-05-12 15:14:47

它将数字存储为双精度。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2815407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档