0

这是 Excel 中的一个令人困惑的事情 - 我在 Stackoverflow 和其他网站上四处查看,但找不到解决方案。

我从文本文件中提取 3 个十进制数(使用 VB.NET,但我认为这与问题无关)。我将此值存储为一个单一的和 Access 数据库 - (我也尝试过双重。)

我使用 MS Query 将这 3 个小数位值带入 Excel。虽然起始文本显然是 3 位小数,但在 Excel 中添加了小数位。例如:

Text file value: 
0.027
Stored in Access:
0.027
Value in Excel:
0.0270000007003546

我将这些值四舍五入以避免对其他人造成混淆,但这可能会导致我所做的其他一些编程出现问题。任何帮助,将不胜感激。

4

1 回答 1

1

我认为问题与此有关:http:
//support.microsoft.com/kb/78113

存储数字时,一个对应的二进制数可以表示每一个数字或小数。例如,分数 1/10 在十进制数系统中可以表示为 0.1。但是,二进制格式的相同数字变成重复的二进制十进制 0001100110011100110011(等等)并且可以无限重复。这个数字不能在有限(有限)的空间中表示。因此,此数字在存储时会向下舍入约 -2.8E-17。

如果按照您和文档的建议,如果会通过设置显式舍入来解决问题来强制 Excel。

于 2013-10-25T12:22:19.343 回答