ユーザー入力のテキスト ボックスを取得し、次のように検証しています。
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