VB判断输入数字大小
窗体上有4个文本框,一个按钮,我想在输入数字时判断输入的数是否在范围内,这是代码PrivateSubCommand1_Click()Dima,bAsIntegera=Te...
窗体上有4个文本框,一个按钮,我想在输入数字时判断输入的数是否在范围内,这是代码
Private Sub Command1_Click()
Dim a, b As Integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
程序能正常工作,但是无论文本框1、2中输入任何数字都不会弹出提示,请问为什么会出问题?如何解决?麻烦详细解释一下,谢谢! 展开
Private Sub Command1_Click()
Dim a, b As Integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
程序能正常工作,但是无论文本框1、2中输入任何数字都不会弹出提示,请问为什么会出问题?如何解决?麻烦详细解释一下,谢谢! 展开
4个回答
展开全部
Private Sub Command1_Click()
Dim a, b As Integer'--------此处有问题:a是变体,b是integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then'----此处重大问题,即问题所在。
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
----------------------------------- 说明---------------------------
0<= a <= 100 And 0<= b <=100 VB判断如下:
0<=a 如果正确,返回 true (其值 -1),如果错误,返回 false(其值 0)。
于是-1<= 100 正确,0<= 100 也正确。
因此 a为任何值,0<= a <= 100 都为正确,返回 true
同理:b为任何值,0<= b <=100 都为正确,返回 true
也就是说:
a和b为任何值,
0<= a <= 100 And 0<= b <=100 都是正确的返回 true 。
执行:
Text3.Text=a
Text4.Text=b
修改如下:
Private Sub Command1_Click()
Dim a As Integer, b As Integer‘------------------------------------------1
a=Text1.Text
b=Text2.Text
If 0<= a and a <= 100 And 0<= b and b <=100 Then'----------------2
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
Dim a, b As Integer'--------此处有问题:a是变体,b是integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then'----此处重大问题,即问题所在。
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
----------------------------------- 说明---------------------------
0<= a <= 100 And 0<= b <=100 VB判断如下:
0<=a 如果正确,返回 true (其值 -1),如果错误,返回 false(其值 0)。
于是-1<= 100 正确,0<= 100 也正确。
因此 a为任何值,0<= a <= 100 都为正确,返回 true
同理:b为任何值,0<= b <=100 都为正确,返回 true
也就是说:
a和b为任何值,
0<= a <= 100 And 0<= b <=100 都是正确的返回 true 。
执行:
Text3.Text=a
Text4.Text=b
修改如下:
Private Sub Command1_Click()
Dim a As Integer, b As Integer‘------------------------------------------1
a=Text1.Text
b=Text2.Text
If 0<= a and a <= 100 And 0<= b and b <=100 Then'----------------2
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
展开全部
把If 0<= a <= 100 And 0<= b <=100 Then改成
If 0 <= a And a <= 100 And 0 <= b And b <= 100 Then
就可以了。
逻辑表达式不能写成数学表达式。你那样写相当于(0<=a)<=100,而(0<=a)结果是0或1,永远小于100,所以,整个逻辑判断表达式永远为真,不可能执行else语句
If 0 <= a And a <= 100 And 0 <= b And b <= 100 Then
就可以了。
逻辑表达式不能写成数学表达式。你那样写相当于(0<=a)<=100,而(0<=a)结果是0或1,永远小于100,所以,整个逻辑判断表达式永远为真,不可能执行else语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vb不支持连续比较,切尼未将文本转换成数字
你是想边输入边检查还是按按钮检查?
按按钮检查的代码:
Private Sub Command1_Click()
Dim a, b As Integer
a=Val(Text1.Text)’val转换数据类型
b=Val(Text2.Text)
If a>= 0 and a<= 100 And b>= 0 and b <=100 Then
Text3.Text=a
Text4.Text=b
Else:
MsgBox "输入的值不正确"
End If
End Sub
你是想边输入边检查还是按按钮检查?
按按钮检查的代码:
Private Sub Command1_Click()
Dim a, b As Integer
a=Val(Text1.Text)’val转换数据类型
b=Val(Text2.Text)
If a>= 0 and a<= 100 And b>= 0 and b <=100 Then
Text3.Text=a
Text4.Text=b
Else:
MsgBox "输入的值不正确"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
If (0 <= a) And (a <= 100) And (0 <= b) And (b <= 100) Then
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询