.Net(VB、C#)で文字列が数値に変換できるか調べる
TryParseメソッドを使用する
TryParseメソッドを使えば、目的の型に変換できるか調べるだけでなく、変換できるならばその値を取得することもできる。応用として数値変換の確認以外に日付型などへの変換も可能。
※VBのIsNumeric関数を使うと、指定された文字列が正しく数値に変換できるか調べることができるが、本稿ではVB.NETのMicrosoft.VisualBasic.Information.IsNumericメソッドを使うことなく、指定した文字列が数値(特にDouble値)に変換できるかを調べる
サンプル
1 2 3 4 5 6 7 8 9 10 | Dim str As String = "-12.34" 'Doubleに変換できるか確かめる Dim d As Double If Double.TryParse(str, d) Then '変換出来たら、dにその数値が入る Console.WriteLine("{0} は数値 {1} に変換できます。", str, d) Else Console.WriteLine("{0} は数字ではありません。", str) End If |
1 2 3 4 5 6 7 8 9 10 11 12 13 | string str = "-12.34"; //doubleに変換できるか確かめる double d; if (double.TryParse(str, out d)) { //変換出来たら、dにその数値が入る Console.WriteLine("{0} は数値 {1} に変換できます。", str, d); } else { Console.WriteLine("{0} は数字ではありません。", str); } |