在vb中 val(text) 与 text 有什么区别 ?比如下面的例子 急求!!谢谢各位了
rivateSubCommand1_Click()Dima,b,ca=val(Text1)b=val(Text2)c=val(Text3)Ifa+b>cAnda+c>bA...
rivate Sub Command1_Click()
Dim a, b, c
a = val(Text1)
b = val(Text2)
c =val( Text3)
If a + b > c And a + c > b And b + c > a Then
If a = b And b = c Then
Text4 = "等边三角形"
ElseIf a = b Or a = c Or b = c Then
Text4 = "等腰三角形"
Else
Text4 = "任意三角形"
End If
Else: Text4 = "不能构成"
End If
End Sub
假如定义时 都定义为 a=text 1… b=text2…… c=text3… 时 当输入 2,2 ,3时 显示 等腰三角形,,当输入3,2,2 或 2,3,2显示 不能构成 为什么??? 展开
Dim a, b, c
a = val(Text1)
b = val(Text2)
c =val( Text3)
If a + b > c And a + c > b And b + c > a Then
If a = b And b = c Then
Text4 = "等边三角形"
ElseIf a = b Or a = c Or b = c Then
Text4 = "等腰三角形"
Else
Text4 = "任意三角形"
End If
Else: Text4 = "不能构成"
End If
End Sub
假如定义时 都定义为 a=text 1… b=text2…… c=text3… 时 当输入 2,2 ,3时 显示 等腰三角形,,当输入3,2,2 或 2,3,2显示 不能构成 为什么??? 展开
5个回答
展开全部
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
要进行测试的话,你可以再添加一个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
展开全部
问题的本质是因为你定义变量的时候,没有指定数据类型。
a=text,b=text2......,此时 a,b是字符串 "a","b",
而 a+b ,因为 a 和 b 是字符串,所以这个时候的加号就是连接符,相当于 &
所以如果 a="3",b="2" 时,a+b 的结果是 "3" & "2"="32",而不是3+2=5
a=text,b=text2......,此时 a,b是字符串 "a","b",
而 a+b ,因为 a 和 b 是字符串,所以这个时候的加号就是连接符,相当于 &
所以如果 a="3",b="2" 时,a+b 的结果是 "3" & "2"="32",而不是3+2=5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
text默认的是文字,比如说:text3.text=text2.text+text1.text。如果text1是1,text2是2,如果不用val的话,text3等于的就是12,如果用val(转换成数值)话,就等于3.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Text1是一个控件,你输入的内容是字符串类型的变量,而 val(Text2)是将串的值转化了~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
val转化成数值。
不要用elseif了。
2种情况分开写。
不要用elseif了。
2种情况分开写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询