看板 Visual_Basic 關於我們 聯絡資訊
Dim na As Integer na = Cells(2, 2) Label1.Caption = (na + 1) * na / 2 如果是上面這樣,當cells(2,2)大於180時會出現溢位錯誤。 但是如果改成以下,不透過na就沒問題 Label1.Caption = (Cells(2, 2) + 1) * Cells(2, 2) / 2 請問這是為何? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.176.163 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1449128791.A.6FC.html
lion21: 超過 32767 12/03 16:30
gary8520: 會不會是運算順序的問題,改為(na+1)/2*na呢? 12/04 00:34
oycoyc: 改成Dim na as Long就沒問題,我想問的是要如何解釋這現象 12/04 13:08
potawei: (181+1)*181=32942>32767 先乘除後加減啊 12/04 13:18
potawei: 運算順序的問題... 12/04 13:19