我正在让用户输入一个文本框,然后按如下方式对其进行验证:
Val(txt_score1.text)
然后我必须将它与该文本框中的空白条目进行比较。像这样:
If (Val(txt_score1.Text) = "") Then....
我收到转换错误。因为“”是字符串,而 Val 是返回整数。
如何克服这个?
我正在让用户输入一个文本框,然后按如下方式对其进行验证:
Val(txt_score1.text)
然后我必须将它与该文本框中的空白条目进行比较。像这样:
If (Val(txt_score1.Text) = "") Then....
我收到转换错误。因为“”是字符串,而 Val 是返回整数。
如何克服这个?
您可以使用Integer.TryParse来确定该值是否为正确的整数:
Dim x As Integer
If Integer.TryParse(TextBox1.Text, x) Then
MessageBox.Show(x)
Else
MessageBox.Show("'" + TextBox1.Text + "' is not a valid number")
End If
如果您只需要检查一个空白字符串,您可以在文本本身上使用String.IsNullOrEmpty :
If String.IsNullOrEmpty(TextBox1.Text) Then
MessageBox.Show("String is empty")
End If
Val
是 VB6 时代遗留下来的遗留函数,如果你不知道它会有一些奇怪的行为。由于这个原因,我避免它。例如,采用以下案例及其生成的输出:
MessageBox.Show(Val("")) '0
MessageBox.Show(Val("5")) '5
MessageBox.Show(Val("5e3")) '5000
MessageBox.Show(Val("5xyz")) '5