Vb6 visual basic 6代码中的运行时溢出错误

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

下面的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
,因此整个表达式
290*113
被键入为
Integer
整数
最多可以包含
32767
,小于
290*113

因此,在将结果存储到
Long
变量之前,它会在乘法时溢出

至少显式键入一个数字作为
Long

Qty = 290& * 113

+虽然我以为
,但我还是赢了是长类型指示器。但是已经有一段时间没有使用VB6了:)谢谢您的快速响应。我还找到了答案。无论如何,非常感谢你的帮助@约阿希米沙克松<代码>
后缀表示
单个
32位浮点变量。@MrSnrub是的,但必须查找它。这是12年不使用它对你的记忆:)作为一个旁注,你可能要考虑。