Visual Basic 6.0的以下代碼 - SP2出現溢出錯誤。有人可以解釋爲什麼嗎?Visual Basic 6代碼中的運行時溢出錯誤
Private Sub Form_Click()
Dim Qty as Long
Qty= 290 * 113 '' 112 is working fine
MsgBox Qty
End Sub
Visual Basic 6.0的以下代碼 - SP2出現溢出錯誤。有人可以解釋爲什麼嗎?Visual Basic 6代碼中的運行時溢出錯誤
Private Sub Form_Click()
Dim Qty as Long
Qty= 290 * 113 '' 112 is working fine
MsgBox Qty
End Sub
113
被輸入爲Byte
。
290
被輸入爲Integer
,因爲它不適合字節。
表達式290 * 113
因此被鍵入爲Integer
。 Integer
最多可包含32767
,其小於290 * 113
。
因此,在將結果存儲到變量Long
之前,它會在乘法運算時溢出。
明確鍵入至少其中一個號碼爲Long
:
Qty = 290& * 113
+1擊敗我,儘管我認爲'!'是長型指標。過了一段時間以來,自VB6雖然:) – 2013-04-27 11:28:57
感謝您的快速反應GSerg。我也在http://vbcity.com/forums/t/42020.aspx找到答案。無論如何非常感謝您的幫助! – user2326679 2013-04-27 11:35:00
@JoachimIsaksson'!'後綴是'SINGLE' 32位浮點變量。 – MrSnrub 2013-04-27 13:25:05
作爲一個側面說明,你可能要考慮[服務包6](http://www.microsoft.com/en-us /download/details.aspx?id=5721)。 – GSerg 2013-04-27 11:41:13