如何检查数字是否是.NET中的整数?

时间:2008-10-11 13:54:08

标签: .net isinteger

说我有一个包含数字的字符串。我想检查这个数字是否是整数。

实施例

IsInteger("sss") => false 

IsInteger("123") => true

IsInterger("123.45") =>false

3 个答案:

答案 0 :(得分:17)

您可以使用int。TryParse。如果它可以解析字符串并将out参数设置为值

,它将返回一个bool
 int val;
if(int.TryParse(inputString, out val))
{
    //dosomething
}

答案 1 :(得分:4)

您可以使用两种即时选项。

选项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

答案 2 :(得分:2)

您可以使用System.Int32.TryParse并执行类似的操作......

string str = "10";
int number = 0;
if (int.TryParse(str, out number))
{
    // True
}
else
{
    // False
}