来自MS Query的Excel小数位数

时间:2013-10-25 12:08:46

标签: excel

这是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

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

1 个答案:

答案 0 :(得分:1)

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

  

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

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