📅  最后修改于: 2023-12-03 15:12:55.755000             🧑  作者: Mango
验证一个字符串是否为数字在 C# 程序中是一个很常见的需求,本文将介绍四种方法来判断一个字符串是否为数字。
可以使用 int.TryParse() 方法或 double.TryParse() 方法来判断一个字符串是否能转换为整型或浮点型数字。这两个方法都返回一个 bool 值,用于指示转换是否成功。
string strNumber = "123";
int intNumber;
double doubleNumber;
bool isInt = int.TryParse(strNumber, out intNumber);
bool isDouble = double.TryParse(strNumber, out doubleNumber);
如果转换成功,返回 true,否则返回 false。num 参数将包含转换后的数字。在这个例子中,变量 isInt 等于 true,因为 strNumber 可以转换为整型数字 123。变量 isDouble 等于 true,因为 strNumber 可以转换为浮点型数字 123.0。
可以使用正则表达式来验证字符串是否只包含数字。以下的代码片段使用了一个正则表达式,如果字符串只包含数字,则返回 true,否则返回 false。
string strNumber = "123";
bool isNumber = System.Text.RegularExpressions.Regex.IsMatch(strNumber, @"^\d+$");
可以使用 Char.IsDigit() 方法来检查字符串中的每个字符是否为数字。以下的代码片段遍历了字符串中的每个字符,如果字符串只包含数字,则返回 true,否则返回 false。
string strNumber = "123";
bool isNumber = strNumber.All(Char.IsDigit);
可以使用 int.Parse() 方法或 double.Parse() 方法来将字符串转换为整型或浮点型数字。如果字符串不能转换为数字,将抛出异常。因此,可以将转换操作放在 try-catch 块中,捕获异常以判断字符串是否可以转换为数字。
string strNumber = "123";
int intNumber;
double doubleNumber;
try
{
intNumber = int.Parse(strNumber);
doubleNumber = double.Parse(strNumber);
}
catch (FormatException)
{
// The string is not a number.
}
以上就是验证一个字符串是否为数字的四种方法,可以根据实际情况选择其中一个方法。在本文中,我们介绍了使用 int.TryParse() 或 double.TryParse() 方法、正则表达式、Char.IsDigit() 方法、int.Parse() 或 double.Parse() 方法来实现这个过程,希望这个篇文章能对您的开发有所帮助。