博客园  :: 联系 :: 管理

C#(IsNumeric) 字符串转换为数字的4种方法

Posted on 2006-06-26 14:47  独孤雁  阅读(1993)  评论(0编辑  收藏  举报
判断C#中的字符串是否是数字,如果是转换成int类型

1.通过正则表达式(可以判断正数和负数)
public int IsNumeric(string str)
{
int i;
if(str != null && System.Text.RegularExpressions.Regex.IsMatch(str,@"^-?\d+$"))
i = int.Parse(str);
else
i = -1;
return i;
}
2.通过字符
/// <summary>
  /// 判断是否是数字
  /// </summary>
  /// <param name="number"></param>
  /// <returns></returns>
  private bool IsNumeric(string number)
  {
   try
   {
    
    for(int i=0;i<number.Length;i++)
    {
     if(number[i]<'0'||number[i]>'9')
     {
      return false;
     }
    }
    return true;
   }
   catch
   {
    return false;
   }
  }
3.通过char.IsNumber方法
/// 判断是否是数字
  /// </summary>
  /// <param name="number"></param>
  /// <returns></returns>
  private bool IsNumeric(string number)
  {
   try
   {
    
    for(int i=0;i<number.Length;i++)
    {
     if(!char.IsNumber(number,i))
     {
      return false;
     }
    }
    return true;
   }
   catch
   {
    return false;
   }
  }
4.通过try,catch
  /// 判断是否是数字
  /// </summary>
  /// <param name="number"></param>
  /// <returns></returns>
  private bool IsNumeric(string number)
  {
   try
   {
    int.Parse(number);
    return true;
   }
   catch
   {
    return false;
   }
  }