在VBA中我有這個不明顯的舍入問題。VBA舍入問題
a = 61048.4599674847
b = 154553063.208822
c = a + b
debug.print c
Result:
154614111.66879
這是一個問題,爲什麼VBA會捨棄變量c?我沒有發佈任何四捨五入功能。我期待的價值是154614111.6687894847。即使我將變量c舍入或格式化爲小數點後15位,我仍然沒有得到預期的結果。
任何解釋將不勝感激。
編輯:
使用cDec獲得預期結果。我在喬納森·艾倫的答覆中Why does CLng produce different results?
閱讀下面是結果的測試:
a = cDec(61048.4599674847)
b = cDec(154553063.208822)
c = a + b
?c
154614111.6687894847
[浮點運算可能會不準確的結果在Excel(http://support.microsoft .com/kb/78113) – SeanC