• 締切済み

TextBoxをInteger型の変数に代入したい

開発環境は、VB2005 ExpressEditionです。 TextBoxをInteger型の変数に代入したいのですが。 Dim num01 As Integer 1 num01 = Int(TextBox1.Text) 2 num01 = CInt(TextBox1.Text) 3 num01 = Integer.Parse(TextBox1.Text) 1,2,3どれで実行しても”入力文字列の形式が正しくありません。”とでてしまいます。どなたか良い方法をご存知の方がいたら、教えて下さい。

みんなの回答

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.4

TryParseメソッドを使うとか。 Dim num As Integer = 0 If Integer.TryParse(TextBox1.Text, num) Then   MessageBox.Show(String.Format("数値:{0}です", num)) Else   MessageBox.Show("数値ではありません") End If (注意!表示の関係上、スペースは全角です。)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.3

No1およびNo2の訂正です。 やはり毎回ではないもののエラーになります。 Ctype ではなく Val 関数でうまくゆきました。 それと TEXTBOX には書式に 数字以外を受け取らないように してください。 Dim wstr As String = MyTextBox.Text Dim wInt As Integer = IIf(IsNumeric(wstr), Val(wstr), 0)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

No1の訂正です。 .tostring を指定してください。 _____________________________________________ CTYPE(TextBox1.Text,integer) でできます。 ただし文字列のチェックが必要ですよ。 具体的には IIF(isnumeric(TextBox1.Text.tostring),CTYPE(TextBox1.Text.tostring,integer) ,0 <-- (1)) (1)部分は 数値以外だったら何か値を返すようにします。 以上

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

CTYPE(TextBox1.Text,integer) でできます。 ただし文字列のチェックが必要ですよ。 具体的には IIF(isnumeric(TextBox1.Text),CTYPE(TextBox1.Text,integer) ,0 <-- (1)) (1)部分は 数値以外だったら何か値を返すようにします。 以上