判断一个字符串是不是数字的方法:
1. 最简单的方法
public bool IsNumber(string str)
{
int number = 0;
return int.TryParse(str,out number);
}
这个方法适用于日常生活中遇到的大多数情况,可是如果碰到极端的情况,比如超过了int类型所能承受的最大值int.MaxValue(2147483647)就会失败。
2.一个万无一失的方法
public static bool IsNumber(string numericText)
{
bool isNumber = false;
foreach (char c in numericText)
{
isNumber = char.IsNumber(c);
if (!isNumber)
{
return isNumber;
}
}
return isNumber;
}
这个方法效率不是很高,需要遍历字符串。
3.强大的正则匹配
正则就是为匹配验证而生的。
public static bool IsNumber(string text)
{
Regex regex = new Regex(@"^[-+]?[0-9]*\.?[0-9]+$");
return regex.IsMatch(text);
}