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
为什么程序运行的时候提示:编译错误,无效或不合格的引用
求高人解答~
展开
 我来答
网海1书生
科技发烧友

推荐于2017-09-20 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
首先你的代码错误是因为那个空格造成的,这个楼上的已经说了,我就不说了。
现在说说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),这是规范的用法。
xspaa
2012-03-09 · TA获得超过216个赞
知道小有建树答主
回答量:149
采纳率:100%
帮助的人:65.4万
展开全部
upc_ssogiv 说的是对的 ,text3后面多了个空格
你标题的问题:a=val(text1.text)和a=text1一样吗
a=text1.text 意思是说,text1的文本text等于a,那个点可以读成“的”(个人见解),就是说a=text1(控件)的text(文本内容),val是转换text1.text的内容为数值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归萱pN
2012-03-06 · TA获得超过990个赞
知道大有可为答主
回答量:1068
采纳率:0%
帮助的人:1490万
展开全部
用val函数之前加个函数IsNumeric判断一下是否为合法的数字,如果不是不进行val转换

你的错误是text1或text2非合法的数字造成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一方乐土养生f
2012-03-06 · TA获得超过1044个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:519万
展开全部
你的text3后面多了个空格。。。应该是text3.text。。。中间不能有空格的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-03-06
展开全部
val指的是text的属性,和其他的不一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式