关于VB简单判断问题
PrivateSubCommand1_Click()IfInt(Text1.Text)=Text1.TextThenPrint"你输入的是整数"ElsePrint"你输入...
Private Sub Command1_Click()
If Int(Text1.Text) = Text1.Text Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
上面这个能判断出是不是整数,可为什么下面的代码判断不出来呢?
Private Sub Command1_Click()
a = Text1.Text
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub 展开
If Int(Text1.Text) = Text1.Text Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
上面这个能判断出是不是整数,可为什么下面的代码判断不出来呢?
Private Sub Command1_Click()
a = Text1.Text
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub 展开
4个回答
展开全部
这里有两个问题要明白:
第一个问题是,VB的隐式转换问题。VB会根据使用环境,将变量隐式转换为相应的类型。例如,If Int(Text1.Text) = Text1.Text Then
语句中,Int函数,它的作用是返回参数的整数部分。
语法:Int(number)
必要的 number 参数是 Double 或任何有效的数值表达式。
这个时候VB就隐式将Text1.Text换换为“Double 或任何有效的数值表达式”。
第二个问题是,如果变量没有进行显式声明,那么VB会根据第一次使用环境默认为该数据类型。例如,a = Text1.Text ,这时候啊就是一个字符换变量。
所以,笔者建议养成良好的变成习惯:每个变量都及时声明,减少错误;尽量使用显式转换,减少隐式转换,减少错误。
OK,按照这个法则,你的代码就应该是这样的:
Private Sub Command1_Click()
If CInt(Text1.Text) = CDbl(Text1.Text) Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
Private Sub Command1_Click()
Dim a As Double
a = CDbl(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
第一个问题是,VB的隐式转换问题。VB会根据使用环境,将变量隐式转换为相应的类型。例如,If Int(Text1.Text) = Text1.Text Then
语句中,Int函数,它的作用是返回参数的整数部分。
语法:Int(number)
必要的 number 参数是 Double 或任何有效的数值表达式。
这个时候VB就隐式将Text1.Text换换为“Double 或任何有效的数值表达式”。
第二个问题是,如果变量没有进行显式声明,那么VB会根据第一次使用环境默认为该数据类型。例如,a = Text1.Text ,这时候啊就是一个字符换变量。
所以,笔者建议养成良好的变成习惯:每个变量都及时声明,减少错误;尽量使用显式转换,减少隐式转换,减少错误。
OK,按照这个法则,你的代码就应该是这样的:
Private Sub Command1_Click()
If CInt(Text1.Text) = CDbl(Text1.Text) Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
Private Sub Command1_Click()
Dim a As Double
a = CDbl(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
展开全部
Private Sub Command1_Click()
a = val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
文本框默认是文本,赋予a后 a就是文本,就不能判断了。
直接引用,系统根据运算选取合适的格式
a = val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
文本框默认是文本,赋予a后 a就是文本,就不能判断了。
直接引用,系统根据运算选取合适的格式
更多追问追答
追问
如果我先声明a为整形,怎么又判断不出来了?
dim a as integer
a = val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
追答
你声明为整形,那小数怎么办
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
text控件中输出的是 字符型的变量 你用val函数转换一下就行了
Private Sub Command1_Click()
a = Val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
Private Sub Command1_Click()
a = Val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
dim a as single '这加入进来
a = val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
dim a as single '这加入进来
a = val(Text1.Text)
If Int(a) = a Then
Print "你输入的是整数"
Else
Print "你输入的不是整数"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询