判断字符串是否为数字的方法解析

判断某个字符串中的字符是否全部为数字,可谓有多种方法,现在对其进行一下总结并对每种方法进行一下解析和评价。

方法一:利用正则表达式

例:

using System.Text.RegularExpressions; public static bool IsNumber(string str) { if (str== null) { return false; } return Regex.IsMatch(str, @"^/d+$",RegexOptions.Singleline); }

利用正则表达式是一种很好的方法,对输入的字符串没有要求,任何长度、类型的字符串都可以,建议使用。

 

方法二:将字符串拆分,判断字符是否为数字

例:

public static bool IsNumber(String str) { for (int i = 0; i < str.Length; i++) { if (!Char.IsNumber(str, i)) return false; } return true; }

该方法利用Char.IsNumber()方法对字符逐一进行判断,来验证字符串是否为数字,也是一个很好的方法。

 

方法三:将字符串进行强制类型转换

例:

public static bool IsNumber(String str) { string s = str; int i = 0; bool result = int.TryParse(s, out i); if (result) { "就是数字" }else{ "不是数字" } }
进行强制类型转换,如果能够转换则是数字,如果不能转换则不都是数字。这种方法有一定的局限性,那就是字符串的长度不能太长,如果超过int的范围,即使都是数字,也会显示不是数字,不建议使用。但是前面两种方法也有一个缺点就是,如果这个字符串代表的是一个负数,那么用其判断的话,也会提示不是数字,在运用的时候还需灵活掌握。

你可能感兴趣的:(正则表达式,String,null)