如何验证一个 C# 字符串是否是数字?


可以使用int.TryParseint.Parse 验证带数字的字符串。

如果无法将字符串转换为整数,则 Int.Parse 会抛出异常,而 Int.TryParse 会返回一个布尔值,指示是否成功。此外,Int.TryParse 还具有一个 out 参数,其中包含已解析字符串的值。

示例

 实时演示

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         Console.ReadLine();
      }
   }
}

输出

代码的输出是

Try Parse Interger Number: 123
Parse Interger Number: 123

在上述示例中,由于 int.Tryparse 返回一个布尔值以及 out 参数中的已解析字符串,因此 if 条件返回 true。此外,由于字符串包含适当的数字,因此 int.Parse 返回整数值。

示例

 实时演示

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         elsem{
            Console.WriteLine($"String doesnot have a proper number");
         }
         Console.ReadLine();
      }
   }
}

输出

上述代码的输出是

String doesnot have a proper number

由于字符串中没有正确的数字,因此 int.Tryparse 将返回 false,并且会执行代码的 else 部分。在相同的情况下,int.Parse 会抛出如下异常。

示例

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         //Exception: Input string was not in correct format.
      }
   }
}

更新于: 2020 年 8 月 8 日

1K+ 查看次数

开启你的 职业生涯

通过完成课程获得认证

开始
广告