EXCEL 中變數的小數點問題

本人的 excel 程式中, 有些變數需儲存一個附帶小數的數值,

其格式是小數前兩位, 及小數後三個位, (即 99.999)

但在宣告時, 應如何宣告此變數格式呢?

因為當數值是小數時, 例如 : 0.025

它只會顯示是 0

更新:

很多謝兩位朋友的幫助, 但都達不到我想的預期, 或許我的問題不夠清晰

例如 : 我有一變數 qty

dim qty as integer

qty = 0

另外有一 activecell.value = 0.025

當程式運行到 qty = activecell.value 時

qty 仍然是 = 0, 無法儲存 0.025

應如何解決呢?

4 個解答

評分
  • joe
    Lv 7
    1 十年前
    最愛解答

    因為你在 dim statement 中已宣告了 qty 是整數, 故就算你放一個非整數到 qty, visual basic 仍然會張這個非整數 convert 為整數.

    解決方法是用

    dim qty

    而不用

    dim qty as integer

  • 1 十年前

    很多謝兩位朋友的幫助, 但都達不到我想的預期, 或許我的問題不夠清晰

    例如 : 我有一變數 qty

    dim qty as integer

    qty = 0

    另外有一 activecell.value = 0.025

    當程式運行到 qty = activecell.value 時

    qty 仍然是 = 0, 無法儲存 0.025

    應如何解決呢?

  • PT
    Lv 6
    1 十年前

    用 ROUND 指令,不要用 Format。

    因為用 Format 指令時,雖然顯示只有小數後三個位,但在系統記憶中儲存格內的數值仍舊保持不變。如果將大量有小數後三個位的數字相加,用 Format 指令情況時便會出現誤差。

    用 ROUND 指令

    依所指定的位數,將數字四捨五入。

    語法:

    ROUND(number,num_digits)

    Number 是個您想執行四捨五入的數字。

    Num_digits 是對數字執行四捨五入計算時所指定的位數。

    例如:

    =ROUND(A1,3)

  • 1 十年前

    去儲存格格式

    選數值

    改小數位數為4

    按確定

還有問題嗎?立即提問即可得到解答。