The type of an expression is determined by its members, not by the variable it is going to be stored in.
113
gets typed as Byte
.
290
gets typed as Integer
because it won't fit into a byte.
As the largest of the involved types is Integer
, the entire expression 290 * 113
is typed as Integer
. An Integer
can contain at most 32767
, which is less than 290 * 113
.
It therefore overflows upon multiplication, before the result is stored into a Long
variable.
Explicitly type at least one of the numbers as Long
:
Qty = 290& * 113
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…