0

ユーザー入力のテキスト ボックスを取得し、次のように検証しています。

Val(txt_score1.text)

次に、そのテキスト ボックスの空白のエントリと比較する必要があります。このような:

If (Val(txt_score1.Text) = "") Then....

変換エラーが発生します。"" は文字列ですが、Val は整数を返します。

これをどう乗り越える??

4

1 に答える 1

4

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

ValVB6 の時代から残っているレガシー関数であり、知らないと奇妙な動作をします。という理由で避けています。たとえば、次のケースとそれらが生成する出力を取り上げます。

    MessageBox.Show(Val(""))        '0
    MessageBox.Show(Val("5"))       '5
    MessageBox.Show(Val("5e3"))     '5000
    MessageBox.Show(Val("5xyz"))    '5
于 2013-09-07T12:59:35.083 に答える