网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

C#判断字符串是否为数字字符串

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下三种方法来实现。

【方法一】:使用 try{} catch{} 语句。
我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。一旦发现异常,则不是数字字符串。
我们可以以下三种方式将string类型转换为int类型。
(1) int.Parse(string);
(2) Convert.ToInt16(string); //当数字字符串的位数大于4的时候请使用Convert.ToInt32()
(3) Convert.ToInt32(string);
 

 

添加一个文本框TextBox1,和一个按钮Button1,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。

protected void Button1_Click(object sender, EventArgs e)
{
        string message = TextBox1.Text.Trim();
        int result;
        if(isNumberic(message,out result))
        {
            string tt="<script>alert(''匹配成功,转换后的整数为"+result+"'')</script>";
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", tt);
        }

        else
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(''匹配失败!'')</script>");
}

protected bool isNumberic(string message,out int result)
{
       //判断是否为整数字符串
       //是的话则将其转换为数字并将其设为out类型的输出值、返回true, 否则为false
        result = -1;   //result 定义为out 用来输出值
        try
        {
          //当数字字符串的为是少于4时,以下三种都可以转换,任选一种
          //如果位数超过4的话,请选用Convert.ToInt32() 和int.Parse()

          //result = int.Parse(message);
          //result = Convert.ToInt16(message);
            result = Convert.ToInt32(message);    
            return true;
        }

        catch
        {
            return false;
        }

}

上述方法可以将int改为double,如 double.Parse(),这样就可以判断是否为浮点数字符串
【方法二】:通过正则表达式来判断。
用正则表达式来验证字符串是否为数字字符串。我们要用到Regex类的isMatch()方法。该类在System.Text.RegularExpressions; 您可以通过using System.Text.RegularExpressions;导入命名空间来访问Regex类。也可以直接通过System.Text.RegularExpressions.Regex 来访问。

protected bool isNumberic(string message,out int result)
{
        System.Text.RegularExpressions.Regex rex=
        new System.Text.RegularExpressions.Regex(@"^\d+contentquot;);
        result = -1;
        if (rex.IsMatch(message))
        {
            result = int.Parse(message);
            return true;
        }

        else
            return false;
}

通过正则表达式判断是否匹配,不仅可以用来做简单的判断匹配,还可以进行精确的匹配,如判断是否是六位的数字字符串,Email匹配等。正则表达式是一种很好的方法。

protected void Button1_Click(object sender, EventArgs e)
{
        string message = TextBox1.Text.Trim();
        isNumeric(message); //判断字符串是否为5为整数字符串
}

protected void isNumeric(string message)
{
       if (message != "" && Regex.IsMatch(message, @"^\d{5}contentquot;))
       {
          //成功
          Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(''匹配通过!确实是五位的整数字符串'')</script>");
       }

       else
           //失败
           Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(''匹配失败!'')</script>");

}

[方法三]

Private bool  isNumber(string str)
{
     if("."==str)
          return false;
     if(null==str||0==str.Length)
         return false;
     System.Text.ASCIIEndcoding ascii  =new    System.Text.ASCIIEndcoding();
     byte bytestr =ascii.GetBytes(str);
     foreach(byte c in bytestr)
   {
        if(c!=46)
            {
                if(c<48||c>57)
                       return false;
             }

    }

      return true;
  
}

  • 上一篇资讯: 网站中的图片缓存
  • 下一篇资讯: 使用ASP.NETGlobal.asax文件
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师