LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

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

admin
2024年10月14日 17:27 本文热度 524

 方案一:

/// <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;

}


方法五:
新建一个类

/// <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;);

}


相关教程:

C# 检测文本字符串内容是否为数字[5]
  http://26639.oa22.cn


该文章在 2024/10/14 17:43:44 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved