- 締切済み
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どれで実行しても”入力文字列の形式が正しくありません。”とでてしまいます。どなたか良い方法をご存知の方がいたら、教えて下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- unamana19
- ベストアンサー率62% (56/89)
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)
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)
No1の訂正です。 .tostring を指定してください。 _____________________________________________ CTYPE(TextBox1.Text,integer) でできます。 ただし文字列のチェックが必要ですよ。 具体的には IIF(isnumeric(TextBox1.Text.tostring),CTYPE(TextBox1.Text.tostring,integer) ,0 <-- (1)) (1)部分は 数値以外だったら何か値を返すようにします。 以上
- NOBNNN
- ベストアンサー率50% (93/186)
CTYPE(TextBox1.Text,integer) でできます。 ただし文字列のチェックが必要ですよ。 具体的には IIF(isnumeric(TextBox1.Text),CTYPE(TextBox1.Text,integer) ,0 <-- (1)) (1)部分は 数値以外だったら何か値を返すようにします。 以上