val就是将字符串转为数值型,如果不用val转换,你的a+b这种表达式就会被系统理解为两个字符串的合并,比如text1输入2,text2输入2,那a+b结果就是22而不是你要的4
要进行测试的话,你可以再添加一个commandbutton按钮,双击它加入下面代码
Private Sub Command2_Click()
MsgBox Text1 + Text2
MsgBox Val(Text1) + Val(Text2)
End Sub
看一下结果就知道了。
这个题最根本的问题是你在定义变量的时候,需要将abc均定义为integer,后面就不会引起这种问题了,也就是
Dim a as integer, b as integer, c As Integer
如果是加法,text3=text1+text2是字符串的合并,但在减法中text3=text1-text2,如果输入的是数字的话是减 法,为什么呢?
因为字符串做不了减法啊,系统会自动将输入的数字字符串转为数字
text1.text和text1在加减法中有什么区别呢?
没有区别
我来补充一点,你需要注意的text1.text属性只有在该控件获得焦点是才能取出,否则会出错的,所以text1.text与text1还是有区别的