首页 相关文章 C#中判断是否为数字

C#中判断是否为数字

有人提议用int.Parse(string)的方法,然后通过捕获异常来判断返回的值。更好的方法是用正则表达式:
public int IsNumeric(string str)
{
int i;
if(str != null && Regex.IsMatch(str,@"^\d+$"))
i = int.Parse(str);
else
i = -1;
return i;
}

这应该是个好办法。不过如果要提出更高的要求,例如不仅要判断字符串是否全为数字,还要在判断后,要求将其进行转换。那么上述函数就有缺陷,因为在上面的正则表达式中无法判断‘-’符号。因此上面的函数只能转换非负数。尤有甚者,要求转换的不仅是整数,还包括浮点数,尤其是科学计数法的字符串,例如:string s = "-3.14159E+10"

这里面的'E'、'.'、'+'等字符,都是比较特殊的,而且还要求它们出现的位置要符合浮点数或科学计数方法的规定。那么就不能使用正则表...[ 查看全文 ]

2016-02-19 标签:

C#中判断是否为数字的相关文章

手机页面
收藏网站 回到头部