【VB.Net】入力されたデータがinteger型かどうかチェックする方法

どうも!リョクちゃです。

今回は、入力された値が文字列なのかintgere型の数値なのかを判定する方法を

簡単に紹介していきます。

ちなみに前回の記事はこちら

VB.NetでサポートされているClosedXMLを使って、Excelを簡単に操作する方法をWindowsアプリケーションを例に紹介しています。VBAじゃなくてもVB.Netでもできるぞといった記事になっています。プログラムからExcelを操作してみたい方の参考になれば嬉しいです。



入力された値が文字列か数値かを判定する方法

これには、Int32でサポートされている、

TryParseメソッドを使用することで判定ができます。

書き方としては、

Integer.TryParse(Byval arg1 As String, Byref arg2 As Integer) As Boolean

arg1は入力された値を文字列型で渡します。

arg2は参照引き渡しになるので、結果を格納したい変数を渡してあげます。

その後TryParseメソッド内の処理で数値に変換できた値が代入されます

TryParseメソッドは戻り値として、判定結果を返してくれます。( True or False)

Falseであれば、arg1は数値に変換できなかったことを表します。

Trueであれば、arg1は数値に変換できたことを表します。

数値に変換できなかった場合のarg2には、0が渡されます

数値に変換できた場合のarg2は、変換された値が渡されます。

※シンプルなメソッドなので使い方も簡単でわかりやすいです。

実際にコードを書いてみると、

こんな感じです。

入力値に関する部分は、target変数を設けてテストを行っています。

上記コードの結果としては、文字列で代入された”123″は数値として判定されるので、

resultには123が渡され、Console.WriteLine()では123が出力されます。

一方で、target変数に”あいうえお”と代入した時には、数値と判定されないので、

resultには0が渡され、TryParseの戻り値としてはFalseが返されます。

まとめ

Tryparseメソッドを使うことで、入力された(受け取った)値が数値かどうか判定し、

結果を返してくれる方法を紹介しました。

Tryparse以外にも、判定無しで結果を返す、Integer.Parse()もあります。

個人的には一度チェックして、結果を返してもらう方が安心ができます。

アプリケーションによって、それぞれの良さを理解し活用していきましょう。

最後までお読みいただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク