这没有正则表达式开销
double myNum = 0;String testVar = "Not A Number";if (Double.TryParse(testVar, out myNum)) { // it is a number} else { // it is not a number}
顺便说一句,除GUID明显之外,所有标准数据类型都支持TryParse。
更新
secretwep会显示值“ 2345”将作为数字通过上述测试。但是,如果您需要确保字符串中的所有字符都是数字,则应该采用另一种方法。
范例1 :
public Boolean IsNumber(String s) { Boolean value = true; foreach(Char c in s.ToCharArray()) { value = value && Char.IsDigit(c); } return value;}
或者,如果您想更加花哨
public Boolean IsNumber(String value) { return value.All(Char.IsDigit);}
更新2 (从@stackonfire处理空字符串或空字符串)
public Boolean IsNumber(String s) { Boolean value = true; if (s == String.Empty || s == null) { value=false; } else { foreach(Char c in s.ToCharArray()) { value = value && Char.IsDigit(c); } } return value; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)