前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c#判断输入文字是否是数字

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

作者头像
阳光岛主
发布2019-02-19 11:20:17
6.3K0
发布2019-02-19 11:20:17
举报
文章被收录于专栏:米扑专栏米扑专栏

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

方案一:

代码语言:javascript
复制
/**//// <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;
        }
    }

方案二:

代码语言:javascript
复制
//如果是纯数字还可以采用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;

}

方法五: 新建一个类

代码语言:javascript
复制
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;);
        }
    }
} 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009年08月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档