※ 引述《Redfireant (紅火蟻)》之銘言:
: Private Sub Form_Activate()
: Dim n As Currency, e As Double
: Dim d As Double, i As Integer
: n = 1: e = 1: d = 1
: Do While d >= 0.0000000000001 '只要1/n!大於或等於1E-13
: '就繼續執行迴圈
: i = i + 1 '算出新的n值
: n = n * i '算出新的n!值
: d = 1 / n '算出1/n!
: e = e + d
: Loop
: Label1 = "e = " & e
: End Sub
Currency 變數係以 64 位元 ( 8 個位元組 ) 整數格式的數字形式儲存,在小數點左邊有
15 位數,右邊 4 位數的數字。這種表示法的範圍可以從 -922,337,203,685,477.5808
到 922,337,203,685,477.5807。
Double (雙精度浮點數) 變數係以 IEEE 64 位元 (8 個位元組) 浮點數字的形式儲存,它
的範圍在負數的時候是從 -1.79769313486232E308 到 -4.94065645841247E-324,而正數
的時候是從 4.94065645841247E-324 到 1.79769313486232E308。
: 我的問題是為什麼n是Currency e是Double d是Double
: 要怎麼判斷什麼時候用Currency 什麼時候用Double
: 我把e和d都改成Currency 結果有溢位的問
: 什麼情形下才會發生溢位
: 謝謝
選用變數跟資料的內容有關係
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.163.140.126