如何验证一个 C# 字符串是否是数字?
可以使用int.TryParse 或 int.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. } } }
广告