a=val(text1.text)和a=text1一样吗
PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,sAsIntegera=Val(Text1.Text)b=Val(T...
Private Sub Command1_Click()
Dim a As Integer, b As Integer, s As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
s = a + b
Text3 .Text = s
End Sub
为什么程序运行的时候提示:编译错误,无效或不合格的引用
求高人解答~ 展开
Dim a As Integer, b As Integer, s As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
s = a + b
Text3 .Text = s
End Sub
为什么程序运行的时候提示:编译错误,无效或不合格的引用
求高人解答~ 展开
5个回答
展开全部
首先你的代码错误是因为那个空格造成的,这个楼上的已经说了,我就不说了。
现在说说a=val(text1.text)和a=text1是否一样的问题,如果Text1里面的内容是数字的话,那么这两个等式是一样的,这是因为Text是TextBox控件的默认属性,所以Text1.Text可以简写为Text1,另外由于a已经显式定义为Integer,所以VB在把text1赋值给a时会自动转换为Integer。因此a=val(text1.text)和a=text1所得到的a都是一样的(事实上a=val(text1.text)是先转为Double再转为Integer,多转了一次)。但是如果Text1里面的内容是空字符串或非数字字符串,则a=val(text1.text)不报错(a=0),而a=text1则报错(类型不匹配)。所以尽量用a=val(text1.text),这是规范的用法。
现在说说a=val(text1.text)和a=text1是否一样的问题,如果Text1里面的内容是数字的话,那么这两个等式是一样的,这是因为Text是TextBox控件的默认属性,所以Text1.Text可以简写为Text1,另外由于a已经显式定义为Integer,所以VB在把text1赋值给a时会自动转换为Integer。因此a=val(text1.text)和a=text1所得到的a都是一样的(事实上a=val(text1.text)是先转为Double再转为Integer,多转了一次)。但是如果Text1里面的内容是空字符串或非数字字符串,则a=val(text1.text)不报错(a=0),而a=text1则报错(类型不匹配)。所以尽量用a=val(text1.text),这是规范的用法。
展开全部
upc_ssogiv 说的是对的 ,text3后面多了个空格
你标题的问题:a=val(text1.text)和a=text1一样吗
a=text1.text 意思是说,text1的文本text等于a,那个点可以读成“的”(个人见解),就是说a=text1(控件)的text(文本内容),val是转换text1.text的内容为数值。
你标题的问题:a=val(text1.text)和a=text1一样吗
a=text1.text 意思是说,text1的文本text等于a,那个点可以读成“的”(个人见解),就是说a=text1(控件)的text(文本内容),val是转换text1.text的内容为数值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用val函数之前加个函数IsNumeric判断一下是否为合法的数字,如果不是不进行val转换
你的错误是text1或text2非合法的数字造成的
你的错误是text1或text2非合法的数字造成的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的text3后面多了个空格。。。应该是text3.text。。。中间不能有空格的。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-06
展开全部
val指的是text的属性,和其他的不一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询