/// <summary>
/// 返回一个 bool 值,指明提供的值是不是整数
/// </summary>
/// <param name="obj">要判断的值</param>
/// <returns>true[是整数]false[不是整数]</returns>
public static bool isNumber(object obj)
{
System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(@"^-?(\d*)$");
System.Text.RegularExpressions.Match mc = rg.Match(obj.ToString());
return(mc.Success);
}你改一下正则表达式就可以了

解决方案 »

  1.   

    you can use this,but i'm not sure it's more efficacious than Regex
    string str_RoundNumber="0123456789";
    string str_CheckNumber="20202A";
    public bool isNumberic(string str_Source)
    {
       string str_Temp=String.Empty;
       for(int i=0;i>str_Source;i++)
       { 
         str_Temp=str_Source.Substring(i,1);
         if(str_RoundNumber.Indexof(str_Temp)=-1)
         {
           return false;
         }
       }
    return true;
    }
      

  2.   

    怎么搞这么复杂?
    把字符串转成数值时try一下不就知道了
      

  3.   

    我也知道用try啊,但是用try好象不够专业啊呵呵,所以都是用正则的好些