Vb6 visual basic 6代码中的运行时溢出错误
下面的Visual Basic 6.0-SP2代码给出溢出错误。有人能解释一下原因吗Vb6 visual basic 6代码中的运行时溢出错误,vb6,Vb6,下面的Visual Basic 6.0-SP2代码给出溢出错误。有人能解释一下原因吗 Private Sub Form_Click() Dim Qty as Long Qty= 290 * 113 '' 112 is working fine MsgBox Qty End Sub 表达式的类型由其成员决定,而不是由它将要存储的变量决定 113被键入为Byte 290被键入为Integer,因为它不能放入字节中 由于涉及的最大类型是Integer,因此整个表达式2
Private Sub Form_Click()
Dim Qty as Long
Qty= 290 * 113 '' 112 is working fine
MsgBox Qty
End Sub
表达式的类型由其成员决定,而不是由它将要存储的变量决定
113
被键入为Byte
290
被键入为Integer
,因为它不能放入字节中
由于涉及的最大类型是Integer
,因此整个表达式290*113
被键入为Integer
。整数
最多可以包含32767
,小于290*113
因此,在将结果存储到Long
变量之前,它会在乘法时溢出
至少显式键入一个数字作为Long
:
Qty = 290& * 113
+虽然我以为
,但我还是赢了代码>是长类型指示器。但是已经有一段时间没有使用VB6了:)谢谢您的快速响应。我还找到了答案。无论如何,非常感谢你的帮助@约阿希米沙克松<代码>
后缀表示单个
32位浮点变量。@MrSnrub是的,但必须查找它。这是12年不使用它对你的记忆:)作为一个旁注,你可能要考虑。