1

数値を含む文字列があるとします。この数値が整数かどうかを確認したい。

IsInteger("sss") => false 

IsInteger("123") => true

IsInterger("123.45") =>false
4

3 に答える 3

17

int を使用できます。TryParse。文字列を解析し、out パラメータを値に設定できる場合はブール値を返します。

 int val;
if(int.TryParse(inputString, out val))
{
    //dosomething
}
于 2008-10-11T13:56:02.803 に答える
4

すぐに使用できるオプションが 2 つあります。

オプション 1 -推奨- Int32.TryParseを使用します。

int res;
Console.WriteLine(int.TryParse("sss", out res));
Console.WriteLine(int.TryParse("123", out res));
Console.WriteLine(int.TryParse("123.45", out res));
Console.WriteLine(int.TryParse("123a", out res));

これは以下を出力します:

False
True
False
False

オプション 2 - 正規表現を使用する

Regex pattern = new Regex("^-?[0-9]+$", RegexOptions.Singleline);
Console.WriteLine(pattern.Match("sss").Success);
Console.WriteLine(pattern.Match("123").Success);
Console.WriteLine(pattern.Match("123.45").Success);
Console.WriteLine(pattern.Match("123a").Success);

これは以下を出力します:

False
True
False
False
于 2008-10-11T14:11:47.080 に答える
2

System.Int32.TryParseを使用して、次のようなことを行うことができます...

string str = "10";
int number = 0;
if (int.TryParse(str, out number))
{
    // True
}
else
{
    // False
}
于 2008-10-11T14:00:27.320 に答える