zoukankan      html  css  js  c++  java
  • [转]c#判断输入文字是否是数字

    (转载请删除括号里的内容)

    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 );
         注:此方法快捷,方便,很容易被掌握,但是参数很多,有兴趣的朋友可以研究一下,建议使用。
        参数不好用
        没有使用过
    方法五:
    新建一个类
    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;);
            }
        }
    }


    ---------------------
    作者:努力学习者
    来源:CNBLOGS
    原文:https://www.cnblogs.com/jone606/articles/2319089.html
    版权声明:本文为作者原创文章,转载请附上博文链接!
    内容解析By:CSDN,CNBLOG博客文章一键转载插件

  • 相关阅读:
    不安装oracle客户端,用plsql连接oracle
    NaviCat Primium远程连接Oracle 11g数据库操作方法
    PLSQL DEVELOPER 使用技巧
    MyEclipse/Eclipse中properties文件中文乱码问题解决
    log4j日志的配置--Debug
    java-jpa-criteriaBuilder使用入门
    使用@CrossOrigin实现跨域请求
    Could not autowire field: private javax.servlet.http.HttpServletRequest
    java高级-泛型<T>和注解封装与使用
    TableView自动上移
  • 原文地址:https://www.cnblogs.com/kevinl/p/13275022.html
Copyright © 2011-2022 走看看