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

发布于 2024-07-07 20:50:22 字数 170 浏览 8 评论 0原文

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

例子

IsInteger("sss") => false 

IsInteger("123") => true

IsInterger("123.45") =>false

Say I've got a string which contains a number. I want to check if this number is an integer.

Examples

IsInteger("sss") => false 

IsInteger("123") => true

IsInterger("123.45") =>false

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨的味道风的声音 2024-07-14 20:50:22

您可以使用 int.TryParse。 如果它可以解析字符串并将输出参数设置为该值,它将返回一个布尔值

 int val;
if(int.TryParse(inputString, out val))
{
    //dosomething
}

You can use int.TryParse. It will return a bool if it can parse the string and set your out parameter to the value

 int val;
if(int.TryParse(inputString, out val))
{
    //dosomething
}
葬﹪忆之殇 2024-07-14 20:50:22

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

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

There are two immediate options that you can use.

Option 1 - preferred - use 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));

This outputs:

False
True
False
False

Option 2 - use regular expressions

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);

This outputs:

False
True
False
False
丶情人眼里出诗心の 2024-07-14 20:50:22

您可以使用 System.Int32.TryParse 并执行以下操作像这样的东西...

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

You can use System.Int32.TryParse and do something like this...

string str = "10";
int number = 0;
if (int.TryParse(str, out number))
{
    // True
}
else
{
    // False
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文