vb 加法代码错误

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:48:02
Dim a As String, b As String, c As String, d As String, e As String

a=1000
b=2000

a+b=10002000

这个实际是是由 + 引起的
我们来看一下这个+

在VB中的运算符中 + 有两重意义
其一,作为算术运算符的 + 就是加号
其二,作为字符串连接运算符的 + ,此时相当于 &

由于楼主在定义时,用的是 String类型,也就是字符型,所以,结果是将两上值连接起来

如果你要的是加法的效果而不是连接的效果,有两种方法
1:定义时,将String 改成 long
2:直接在+时,先将两个字符型的数字转换成数值型数字,可以这样用 Print Val(A)+Val(B)
Val:将一个字符型数字转换成数值型数字
也可以用Clng/Cint/Csng/CDbl函数,此函数是将一个字符型的数字转换成一个长整型/整形/单精度/双精度数字
Val 与 Clng/Cint/Csng/CDbl的区别:
Val 将其转换成最合适的数值型数据(有整形,长整形,单精度,双精度)
而Clng/Cint/CSng/CDbl这四个,是有目的性的转换

认为主要原因在这里a+b=10002000
=左边是由两个变量组成的表达式,肯定不是赋值语句,只能理解为条件表达式,如果是条件表达式,要结合if 或者 循环语句使用,例如
if a+b=10002000 then

end if

'这样可能造成死循环
do while a+b=10002000 then

loop

或者
dim strValue as string
strValue=iif(a+b=10002000,"yes","no")

总之在VB中单独使用 a+b=10002000 这条语句是不允许的。

Dim a As String, b As String, c As String, d As String, e As String

a=1000
b=2000

a+b=10002000