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

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

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

 方案一:

/// <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-2025 ClickSun All Rights Reserved