![Excel 儲存數字不正確](https://rvso.com/image/1604283/Excel%20%E5%84%B2%E5%AD%98%E6%95%B8%E5%AD%97%E4%B8%8D%E6%AD%A3%E7%A2%BA.png)
如果我在儲存格中輸入一個值,它會按預期儲存它,但如果我透過 VBA 程式碼設定該值,它會錯誤地儲存它。更具體地說,我計算了某個物體的高度,結果值為 1.15。該數字顯示正確,但當我單擊該單元格時,實際存儲的數字是 1.14999997615814。還有另一個單元格根據條件使用該數字或另一個數字。此儲存格始終顯示實際儲存的數字 (1.14999997615814),這是不正確的。這是政府工程師正在審查的技術文件,因此即使很小的偏差也會導致文件被拒絕。我嘗試將數字儲存為文字(沒有區別),在儲存之前對其進行四捨五入(沒有區別),在儲存之前將其計算為單精度或雙精度,同樣與 Excel 的操作沒有區別。並非所有值都會發生這種情況,但當計算結果為 1.15 時,它會表現出這種行為。導致數字正確存儲的唯一方法是手動輸入它,這違背了計算值的整個目的。任何人都知道正在發生的事情以及我如何強迫、脅迫或賄賂 Excel 使其行為正常?
TIA。
答案1
我仍然不知道到底是什麼導致了這個問題。我不會讓您厭倦用於實現結果的程式碼 - 總而言之,它只是找到要添加的數字並添加它們。這些值為 (0.0747*2)+(0.25*2)+.05006,等於 1.15。唯一有效的修復是將結果作為文字分配給單元格,然後轉換為數字,如下所示:
ws.Range("L24").Value = "'" & JobSettings.BrgHeight
ws.Range("L24").Select
Selection.NumberFormat = "General"