.......
End If
为什么当TextBox1.Text=""的时候还会报错呢?
难道当TextBox1.Text="" =True的时候,还会去执行CInt(TextBox1.Text)) 吗?
如果我写的不对的话,应该怎么写才对呢?
好多年没用过VB了,VB.NET更是没用过,这里应该怎么写啊?
就是当TextBox1.Text=""的时候把它当0来看
谢谢
8 个解决方案
#1
你判断得很对,改用
IF……THEN
ELSE
END IF
IF……THEN
ELSE
END IF
#2
以下你的代码:
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
iif(bool表达式,返回1,返回2)
计算过程是:
计算:bool表达式
计算:返回1的表达式 0
计算:返回2的表达式 CInt(TextBox1.Text) 当TextBox1.Text = "" 的时候这个表达式就异常了
返回表达式1或者表达式2。
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
iif(bool表达式,返回1,返回2)
计算过程是:
计算:bool表达式
计算:返回1的表达式 0
计算:返回2的表达式 CInt(TextBox1.Text) 当TextBox1.Text = "" 的时候这个表达式就异常了
返回表达式1或者表达式2。
#3
up
#4
你的TextBox1.Text是否是NULL,NULL与""可不一样,你可试试这样:
If IIf(TextBox1.Text is nothing, 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
#5
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
这格的执行顺序是先执行CInt(TextBox1.Text),也就是说无论TextBox1.Text是否=“”,都要执行
CInt(TextBox1.Text)
.......
End If
这格的执行顺序是先执行CInt(TextBox1.Text),也就是说无论TextBox1.Text是否=“”,都要执行
CInt(TextBox1.Text)
#6
那可真麻烦
#7
会去执行的
这样子就不会出错了。
If IIf("" & TextBox1.Text = "", 0, CInt("" & TextBox1.Text)) > 2 Then
.......
End If
这样子就不会出错了。
If IIf("" & TextBox1.Text = "", 0, CInt("" & TextBox1.Text)) > 2 Then
.......
End If
#8
这个问题可以不用IIF嘛!
像这样也可以啊!
If CInt("0" & TextBox1.Text)>2 then
…………
End If
这样如果TextBox1.Text=""的话表达式就会等于0
页TextBox1.Text<>""的话表达式就会等于相应的数值!!
如:TextBox1.Text="" Then "0" & TextBox1.Text="0" CInt("0" & TextBox1.Text)=0
TextBox1.Text="1" Then "0" & TextBox1.Text="01" CInt("0" & TextBox1.Text)=1
像这样也可以啊!
If CInt("0" & TextBox1.Text)>2 then
…………
End If
这样如果TextBox1.Text=""的话表达式就会等于0
页TextBox1.Text<>""的话表达式就会等于相应的数值!!
如:TextBox1.Text="" Then "0" & TextBox1.Text="0" CInt("0" & TextBox1.Text)=0
TextBox1.Text="1" Then "0" & TextBox1.Text="01" CInt("0" & TextBox1.Text)=1
#1
你判断得很对,改用
IF……THEN
ELSE
END IF
IF……THEN
ELSE
END IF
#2
以下你的代码:
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
iif(bool表达式,返回1,返回2)
计算过程是:
计算:bool表达式
计算:返回1的表达式 0
计算:返回2的表达式 CInt(TextBox1.Text) 当TextBox1.Text = "" 的时候这个表达式就异常了
返回表达式1或者表达式2。
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
iif(bool表达式,返回1,返回2)
计算过程是:
计算:bool表达式
计算:返回1的表达式 0
计算:返回2的表达式 CInt(TextBox1.Text) 当TextBox1.Text = "" 的时候这个表达式就异常了
返回表达式1或者表达式2。
#3
up
#4
你的TextBox1.Text是否是NULL,NULL与""可不一样,你可试试这样:
If IIf(TextBox1.Text is nothing, 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
#5
If IIf(TextBox1.Text = "", 0, CInt(TextBox1.Text)) > 2 Then
.......
End If
这格的执行顺序是先执行CInt(TextBox1.Text),也就是说无论TextBox1.Text是否=“”,都要执行
CInt(TextBox1.Text)
.......
End If
这格的执行顺序是先执行CInt(TextBox1.Text),也就是说无论TextBox1.Text是否=“”,都要执行
CInt(TextBox1.Text)
#6
那可真麻烦
#7
会去执行的
这样子就不会出错了。
If IIf("" & TextBox1.Text = "", 0, CInt("" & TextBox1.Text)) > 2 Then
.......
End If
这样子就不会出错了。
If IIf("" & TextBox1.Text = "", 0, CInt("" & TextBox1.Text)) > 2 Then
.......
End If
#8
这个问题可以不用IIF嘛!
像这样也可以啊!
If CInt("0" & TextBox1.Text)>2 then
…………
End If
这样如果TextBox1.Text=""的话表达式就会等于0
页TextBox1.Text<>""的话表达式就会等于相应的数值!!
如:TextBox1.Text="" Then "0" & TextBox1.Text="0" CInt("0" & TextBox1.Text)=0
TextBox1.Text="1" Then "0" & TextBox1.Text="01" CInt("0" & TextBox1.Text)=1
像这样也可以啊!
If CInt("0" & TextBox1.Text)>2 then
…………
End If
这样如果TextBox1.Text=""的话表达式就会等于0
页TextBox1.Text<>""的话表达式就会等于相应的数值!!
如:TextBox1.Text="" Then "0" & TextBox1.Text="0" CInt("0" & TextBox1.Text)=0
TextBox1.Text="1" Then "0" & TextBox1.Text="01" CInt("0" & TextBox1.Text)=1