加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

有人可以确认Microsoft Excel 2007内部如何表示数字吗?

发布时间:2020-12-14 01:51:41 所属栏目:Windows 来源:网络整理
导读:我知道IEEE 754浮点标准,因为我必须在考试中学习它.我确切地知道如何使用浮点数以及它们可能存在的问题.我可以手动对浮点数的二进制表示进行任何操作. 但是,我还没有找到一个明确说明excel使用64位浮点数在内部代表excel中除了文本之外的每个单元格“类型”
我知道IEEE 754浮点标准,因为我必须在考试中学习它.我确切地知道如何使用浮点数以及它们可能存在的问题.我可以手动对浮点数的二进制表示进行任何操作.

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

我已经找到了数以万亿计的文章,其中1)描述浮点数,然后2)谈论由于浮点数而要小心excel.我没有找到一个声明说“所有类型都是除文本之外的64位浮点数”.我没有找到一个单独的声明,说“更改单元格的类型只会更改其可视化表示而不是其内部表示,除非您将类型从文本更改为其他不是文本的类型,或者您更改其他类型的是不是文字到文字“.

这实际上就是我想要知道的,而且它是如此简单和公理,我很惊讶我能找到数以万计的文章和页面来讨论这些陈述,但不直接说明.

解决方法

Excel 2007支持Open XML格式,这是一个包含一堆 XML文件的ZIP文件(.XLSX).有一个SDK可以使用OpenXML格式,你可以获得它的文档 here,并下载它 here.

基本上,数字作为纯文本存储在元素中,因此如果单元格A1的编号为42,单元格A2的编号为81.56,则XML将类似于以下XML片段:

<row r="1" spans="1:2">
    <c r="A1">
        <v>42</v>
    </c>
    <c r="B1">
        <v>81.569999999999993</v>
    </c>
</row>

使用OpenXML时,我强烈建议您只使用SDK,而不是自己动手.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读