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

1 .net isinteger

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

例子

IsInteger("sss") => false 

IsInteger("123") => true

IsInterger("123.45") =>false
Run Code Online (Sandbox Code Playgroud)

mat*_*ant 17

你可以使用int.TryParse.如果它可以解析字符串并将out参数设置为值,它将返回bool

 int val;
if(int.TryParse(inputString, out val))
{
    //dosomething
}
Run Code Online (Sandbox Code Playgroud)


Jor*_*ira 5

您可以立即使用两个选项。

选项 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));
Run Code Online (Sandbox Code Playgroud)

这输出:

False
True
False
False
Run Code Online (Sandbox Code Playgroud)

选项 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);
Run Code Online (Sandbox Code Playgroud)

这输出:

False
True
False
False
Run Code Online (Sandbox Code Playgroud)