问题描述
如题,在C#程序开发中,判断一个字符串是否是数字的方法有哪些呢?
比如,如下的字符串:
"abc" = false
"123" = true
"ab2" = false
方案一
使用int.TryParse()
方法
int n;
bool isNumeric = int.TryParse("123", out n);
如果在 .NET 7.0中,还可以使用如下的实现:
var isNumeric = int.TryParse("123", out int n);
方案二
使用正则表达式来判断一个字符串是否为数字:
Regex.IsMatch(input, @"^\d+$")
方案三
public static bool IsNumeric(object Expression)
{
double retNum;
bool isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum);
return isNum;
}
或者可以使用Microsoft.VisualBasic.Information.IsNumeric(...)
方法,如下:
bool b1 = Microsoft.VisualBasic.Information.IsNumeric("1"); //true
bool b2 = Microsoft.VisualBasic.Information.IsNumeric("1aa"); // false
方案四
var isNum = stringTest.All(char.IsDigit);
方案五
public static class Extensions
{
public static bool IsNumeric(this string s)
{
foreach (char c in s)
{
if (!char.IsDigit(c) && c != '.')
{
return false;
}
}
return true;
}
}
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册