Excel 儲存數字不正確

Excel 儲存數字不正確

如果我在儲存格中輸入一個值,它會按預期儲存它,但如果我透過 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"

相關內容