微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB6溢出错误与大整数

我试图设置一个整数值:
Dim intID as integer
intID = x * 10000

当x为3以下时,此功能正常。但是当x为4时,这给我错误

run-time error 6
Overflow

我不明白为什么会这样。我可以直接将intID设置为40000,没有任何问题,因此显然能够存储大量数据。

您*无法将vb6整数设置为40000,因为它们是16位数,因此32767是最大值。

Long是32位类型。

但是作为一个警告,如果你要:

Dim lngID As Long
lngID = 4 * 10000

您仍然会获得溢出,因为字面数字认为整数,以纠正只要使用&或者使用CLng()来投射一次:

Dim lngID As Long
lngID = 4 * 10000&
lngID = 4 * CLng(10000)

更新:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐