vb实时错误6的问题

2024-12-21 20:18:17
推荐回答(4个)
回答1:

vb在计算24*60*60时,由于24,60都是integer型,所以其默认结果也按照integer型来处理,但这时结果已经超出了integer的范围,所以报错。
改成x = CLng(24) * 60 * 60这样就行了,因为有long型参数参与计算时,结果会默认转为long型。

回答2:

具体的我也不太清楚,我试了一下,也是这个问题。估计是右边式子超过了整形的长度,尽管左边定义的是长整形,但右边分配的空间只是整形,相对来说已经溢出,也自然无法复制给左边了。至于为什么右边只分配了一个整形的空间,我也不太清楚
补充:右边都是整形量,根据运算规则,整形与整形相乘得到的数据为整形,因此程序给右边式子分配的空间为整形。而数值结果已经超过了整形范围,故数据溢出了。

回答3:

溢出了
x=clng(24)*60*60

回答4:

Dim a As Long, x As Long
x = 24 * 60 * 60# '这里写 x = 86400 更好
msg1$ = 输入时间
msgtitle = 时间换算
a = InputBox(msg1$, msgtitle)
Print a / x