精華區beta Visual_Basic 關於我們 聯絡資訊
※ 引述《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