2013-10-25 38 views
0

這是Excel中一個令人困惑的事情 - 我環顧了Stackoverflow和其他網站,找不到解決方案。來自MS查詢的Excel小數位數

我從文本文件中提取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

我相信問題可能與這樣的:
http://support.microsoft.com/kb/78113

當存儲號碼,相應的二進制數可表示 每隔數或分數。例如,1/10分數可以在十進制數系統中表示爲0.1。但是,二進制格式的相同 變成重複的二進制小數 0001100110011100110011(依此類推) 並且可以無限重複。這個數字不能用有限的(有限的)空間來表示。因此,這個數字是 當它被存儲時向下舍入約-2.8E-17。

如果通過設置顯式四捨五入來解決問題,如同您和文檔提示一樣,將強制執行Excel。