首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

写vb程序十年,碰到一个最原始最简单的有关问题

2012-02-25 
写vb程序十年,碰到一个最原始最简单的问题我是98年开始在学校学程序,然后工作中一起用vb做相关的开发。现在

写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

热点排行