入力データを整数に変換
キーボードから入力 |
---|
文字列入力 |
整数入力 |
実数入力 |
入力エラー対応方法 |
数値変換 TryParse |
キーボードから入力したデータは、すべて文字データとして取り込まれるので、プログラムの中で整数として使いたい時には、Integer.Parse 関数を使って、整数に変換する必要があります。
試しに、文字を混在したデータを入力したら、エラーになる簡単なサンプルプログラムを作成します。キーボードから、0~9の数字キーと、先頭に - (マイナス)を入力しないとエラーになります。
Module Module1 Sub Main() ' 変数の宣言 Dim inStr As String = "" Dim inNum As Integer = 0 ' キーボードから入力 inStr = Console.ReadLine() ' 文字列を整数に変換 inNum = Integer.Parse(inStr) End Sub End Module
数字以外の文字を入力すると、次のようなエラーメッセージが表示され、プログラムは実行を停止します。そのときは、[プログラムの終了]ボタンを押してください。
このまま放置すると、次のダイアログボックスに変ります。[プログラムの終了]ボタンを押して、ダイアログボックスを閉じます。
最後に、何かキーを押して、コンソール画面を閉じます。
キーボードからは、数字以外の文字を何でも入力できるので、入力文字列に数字以外の文字があれば、このようなエラーダイアログが表示され、入力エラーになります。
このようなエラーダイアログがでないよう数値入力では、入力エラーの処理をプログラムに追加する必要があります。
整数変換 Integer.Parse を使ったサンプルプログラム
キーボードから入力した整数値を2倍して、その結果を表示するプログラムを作成します。
数字以外が入力されたら、エラーメッセージを表示して、プログラムを終了します。
入力エラーがあった時は、キーボードから再入力できるプログラムはこちらからどうぞ。
入力エラー時の再入力プログラム |
---|
Module Module1 Sub Main() ' 変数の宣言 Dim inStr As String = "" Dim inNum As Integer = 0 ' キーボードから入力 Console.WriteLine("整数を入力してください") inStr = Console.ReadLine() If IsNumeric(inStr) = True Then ' 文字列を整数に変換 inNum = Integer.Parse(inStr) ' 入力値を2倍 inNum = inNum * 2 ' 結果を表示 Console.WriteLine("計算結果:" & inNum) Else Console.WriteLine("数字以外の文字があります") Console.WriteLine() End If End Sub End Module