Visual Basic 6代码中的运行时溢出错误
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