VB关于一个非常弱智的问题,但我还是不懂

来源:百度知道 编辑:UC知道 时间:2024/05/09 16:41:10
我用文本框做个超简单的计算器 text3.text=text1.text+text2.text

结果是 text1=5 text2=8 计算时候他竟然写:58 把两个数都给相加啦

但我用其它的 比如乘 减又很正常,究竟什么原因。

+这个运算符在字符串中间的时候是连接符,在数值中间的时候是加法运算符
因为vb可以自动类型转换,减 乘 除都不适用于字符串,所以就把字符串自动转成数值了。
但是+是可以既字符又数值的。所以只有+会有这样的错误
text3.text = val(text1.text) + val(text2.text)
改成这样就可以了

字符串是可以用加号的,因此你要先把它转化为数字。
可以用val或者cint等函数。

在VB中,文本框里的内容是当作字符串处理的,而在字符串运算中,"+"相当于"&",将两个字符串连接起来,因而你的运算结果为"58"

在字符串中相加是跟"&"符号的功能一样的,强制连接两个字符串。
字符串是不能相加的,所以要先把字符串数据用"val"转化成数值型数据。
所以。
text3.text = Val(text1.text) + val(text2.text)
就OK啦~

text3.text = Val(text1.text) + val(text2.text)

如果是用文本框来输入数值的话.还想要把两个数值进行相加的就要把文本内容转换成数值类型的.如:text3.text = val(text1.text) + val(text2.text) 要不然,vb系统会默认为两个文本内容相连.这时的"+"号就相当于"&"号.