c#判断输入文字是否是数字

来源:互联网 发布:日本m2历年数据 编辑:程序博客网 时间:2024/05/21 08:30

c#判断输入文字是否是数字

方案一:

/**//// <summary> /// 名称:IsNumberic /// 功能:判断输入的是否是数字 /// 参数:string oText:源文本 /// 返回值: bool true:是 false:否 /// </summary> public bool IsNumberic(string oText) { try { int var1=Convert.ToInt32 (oText); return true; } catch { return false; } }     try catch方法     例:     try     {       Convert.ToInt32("123"):       Console.Write("是数字");     }     catch(Exception ex)     {       Console.Write("非数字");     }     注:如果有很多字符串要求判断,此方法需要大量的try catch 以及finally来处理后续的程序.不建议使用此方法。改进一下:因为可以转int 可以转Decimal    public bool IsNumberic(string oText)    {        try        {            Decimal Number = Convert.ToDecimal (oText);            return true;        }        catch        {            return false;        }    }

方案二:

//如果是纯数字还可以采用ASCII码进行判断/// <summary>   /// 判断是否是数字   /// </summary>   /// <param name="str">字符串</param>   /// <returns>bool</returns>   public bool IsNumeric(string str)   {       if (str == null || str.Length == 0)           return false;       System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();       byte[] bytestr = ascii.GetBytes(str);       foreach (byte c in bytestr)       {           if (c < 48 || c > 57)           {               return false;           }       }       return true;   } 

方案三:
     正则表达式方法
     例:
     //引用正则表达式类
     using   System.Text.RegularExpressions; 
     Regex   reg=new   Regex("^[0-9]+$"); 
     Match   ma=reg.Match(text); 
     if(ma.Success) 
     { 
      //是数字 
     } 
     else 
     { 
     //不是数字 
     }
     注:此方法快捷,但不太容易掌握,尤其是正则表达式公式,如果有兴趣的朋友可以好好研究,这东西很好用的,建议使用。


方案四:
     Double.TryParse方法
     例:
     bool isNum=System.Double.TryParse("所要判断的字符串"  ,System.Globalization.NumberStyles.Integer,null,out );
     注:此方法快捷,方便,很容易被掌握,但是参数很多,有兴趣的朋友可以研究一下,建议使用。
    参数不好用
    没有使用过

public static bool IsNumberic(string strnum)

{
      int i = 0;
      bool result = int.TryParse(strnum, out i);
      return result;

}


方法五:
新建一个类

using System;using System.Collections.Generic;using System.Text.RegularExpressions;namespace LBC.Number{    /// <summary>    /// 数字判断的类    /// </summary>    public class NumberClass    {        /// <summary>        /// 判断是否是数字        /// </summary>        /// <param name="strNumber">要判断的字符串</param>        /// <returns></returns>        public static bool IsNumber(String strNumber)        {            Regex objNotNumberPattern = new Regex("[^0-9.-]");            Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");            Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");            String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+___FCKpd___0quot;;            String strValidIntegerPattern = "^([-]|[0-9])[0-9]*___FCKpd___0quot;;            Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");            return !objNotNumberPattern.IsMatch(strNumber) &&            !objTwoDotPattern.IsMatch(strNumber) &&            !objTwoMinusPattern.IsMatch(strNumber) &&            objNumberPattern.IsMatch(strNumber);        }        /// <summary>        /// 判断是否是int类型        /// </summary>        /// <param name="Value">要判断的字符串</param>        /// <returns></returns>        public static bool IsInt(string Value)        {            return Regex.IsMatch(Value, @"^[+-]?/d*___FCKpd___0quot;);        }        /// <summary>        /// 判断是否是数字        /// </summary>        /// <param name="Value">要判断的字符串</param>        /// <returns></returns>        public static bool IsNumeric(string Value)        {            return Regex.IsMatch(Value, @"^[+-]?/d*[.]?/d*___FCKpd___0quot;);        }    }}