写vb程序十年,碰到一个最原始最简单的问题
我是98年开始在学校学程序,然后工作中一起用vb做相关的开发。
现在是做工控行业。
现在遇到这种现象:
Private Sub Command1_Click()
Dim d As Double
d = 10 * 3280 <<运行这里程序溢出错误
Text1.Text = d
End Sub
像上面这种程序
为什么乘出的结果大于32767会溢出,平时在运行过程中肯定会有一个超过32767的常数。
[解决办法]
虽然你d定义的是double类型,可是表达式10*3280两个数都是整型,
所以运算结果也认为是整型,必然会产生溢出错误
至于最终结果转换成double类型是没错,可是也要等到计算的结果出来后才能转换
现在的问题是计算过程中就出错了,你可以将其中的一个数定义成double类型
d = 10# * 3280
或者
d = 10 * 3280#
[解决办法]
d = 10.0 * 3280
[解决办法]
中间临时变量溢出啦, 论坛上好像有几个相同的帖子.
[解决办法]
d=32800