如何识别字符串是否是数字?
如果我有这些字符串:
"abc"
= false
"123"
= true
"ab2"
= false
是否有像IsNumeric或其他的命令可以识别字符串是否是有效的数字?
int n;
bool isNumeric = int.TryParse("123", out n);
更新从C#7开始:
var isNumeric = int.TryParse("123", out int n);
var s可以用各自的类型替换!
如果input
是全部数字,这将返回true。 不知道它是否比TryParse
更好,但它可以工作。
Regex.IsMatch(input, @"^d+$")
如果你只是想知道它是否有一个或多个与字符混合的数字,请放弃^
+
和$
。
Regex.IsMatch(input, @"d")
编辑:其实我认为它比TryParse更好,因为很长的字符串可能会溢出TryParse。
我已经多次使用这个函数:
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;
}
但你也可以使用;
bool b1 = Microsoft.VisualBasic.Information.IsNumeric("1"); //true
bool b2 = Microsoft.VisualBasic.Information.IsNumeric("1aa"); // false
从基准测试数字选项
替代文字http://aspalliance.com/images/articleimages/80/Figure1.gif
替代文字http://aspalliance.com/images/articleimages/80/Figure2.gif
链接地址: http://www.djcxy.com/p/64109.html