C#で文字列が数値かどうかを確認する方法

C#で文字列が数値かどうかを確認する手順

1.整数型変数を宣言する。 2.out 変数で、int.TryParse() またはdouble.TryParse() メソッドに文字列を渡す。 3.文字列が数値の場合、TryParse メソッドは真を返します。そして宣言された整数値out に値を代入する。

On this page

C#で文字列が数値かどうかをチェックする。

例えば、文字列変数 “123 “があり、それが数値かどうかをチェックしたい場合は、以下のC#コードを使用します。

var stringNumber = "123";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);

//isNumber is true and numericValue=123

var stringNumber = "123P";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);

//isNumber is false and numericValue=0 default value

C# 7以降では、TryParseメソッド自体でout変数を宣言することができるようになりました。

bool isNumber = int.TryParse(stringNumber, out int numericValue);

上記int.TryParse メソッドの問題点は、負の文字列数値のチェックができないことです。

C#で負の文字列数をチェックする

負の文字列番号の値をチェックするには、C#のdouble.TryParse() メソッドを使用します。

var negativeString = "-123";
double number;
if(double.TryParse(negativeString,out number)){
   if (number > 0){

   }else{
       //negative number 
   }   
}

C# で文字列が数値かどうかを確認する最良の方法

文字列が数字であるかどうかを確認するには、常にdouble.TryParse() メソッドを使用します。