这是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
我对这些值进行四舍五入以避免对其他人造成混淆,但这可能会导致其他一些编程出现问题。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为问题与此有关:
http://support.microsoft.com/kb/78113
存储数字时,可以表示相应的二进制数 每个数字或小数。例如,分数1/10可以 用十进制数表示为0.1。但是,同样的 二进制格式的数字成为重复的二进制小数 0001100110011100110011(等) 并且可以无限重复。该数字不能在有限(有限)的空间量中表示。因此,这个数字是 存储时向下舍入约-2.8E-17。
如果您和文档建议,将通过设置显式舍入来解决问题来强制Excel。