返回列表 上一主題 發帖

如何 測試 Excel VBA 計算時間間隔的 精確度?

回復 2# sjgau
我覺得這樣有問題,Timer傳回的數為Single,
在我的電腦上,Timer傳回的數只會到小數點後第二位,
這個數是已經進位過的,而不該再用 timer1( ) 做四捨五入,

你可能會說,Timer傳回的數如果只到小數點後第二位,timer1( )裡的 a 小數點後就應該都是零,可是不是這樣。

這是因為你的 a 是 Double 資料型態,資料型態之間轉換造成的誤差,可 run 底下程式碼知道有此誤差:
  1. Sub Test()
  2.   Dim t1 As Single
  3.   Dim d1 As Double
  4.   
  5.   t1 = Timer
  6.   Debug.Print "t1=", t1
  7.   Debug.Print "Cdbl(t1)=", CDbl(t1)
  8.   d1 = t1
  9.   Debug.Print "d1=", d1
  10. End Sub
複製代碼

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題