どうも!リョクちゃです。
今回は、入力された値が文字列なのかintgere型の数値なのかを判定する方法を
簡単に紹介していきます。
ちなみに前回の記事はこちら
入力された値が文字列か数値かを判定する方法
これには、Int32でサポートされている、
TryParseメソッドを使用することで判定ができます。
書き方としては、
arg1は入力された値を文字列型で渡します。
arg2は参照引き渡しになるので、結果を格納したい変数を渡してあげます。
その後TryParseメソッド内の処理で数値に変換できた値が代入されます。
TryParseメソッドは戻り値として、判定結果を返してくれます。( True or False)
Falseであれば、arg1は数値に変換できなかったことを表します。
Trueであれば、arg1は数値に変換できたことを表します。
数値に変換できなかった場合のarg2には、0が渡されます。
数値に変換できた場合のarg2は、変換された値が渡されます。
※シンプルなメソッドなので使い方も簡単でわかりやすいです。
実際にコードを書いてみると、
1 2 3 4 5 6 7 8 9 10 11 12 |
Public Sub CheckInteger() Dim result As Integer Dim target As String = "123" If Integer.TryParse(target, result) = False Then ' 数値ではない Console.WriteLine(result) Else ' 数値である Console.WriteLine(result) End If End Sub |
こんな感じです。
入力値に関する部分は、target変数を設けてテストを行っています。
上記コードの結果としては、文字列で代入された”123″は数値として判定されるので、
resultには123が渡され、Console.WriteLine()では123が出力されます。
一方で、target変数に”あいうえお”と代入した時には、数値と判定されないので、
resultには0が渡され、TryParseの戻り値としてはFalseが返されます。
まとめ
Tryparseメソッドを使うことで、入力された(受け取った)値が数値かどうか判定し、
結果を返してくれる方法を紹介しました。
Tryparse以外にも、判定無しで結果を返す、Integer.Parse()もあります。
個人的には一度チェックして、結果を返してもらう方が安心ができます。
アプリケーションによって、それぞれの良さを理解し活用していきましょう。
最後までお読みいただきありがとうございます。
・こちらの書籍を参考にVB.Net勉強しています。