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,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 来访问。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
protected bool isNumberic(string message,out int result)
{
        System.Text.RegularExpressions.Regex rex=
        new System.Text.RegularExpressions.Regex(@"^\d+$");
        result = -1;
        if (rex.IsMatch(message))
        {
            result = int.Parse(message);
            return true;
        }
        else
            return false;
}


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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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}$"))
       {
          //成功
          Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配通过!确实是五位的整数字符串')</script>");
       }
       else
           //失败
           Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('匹配失败!')</script>");
}

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

转载于:https://www.cnblogs.com/wenjie0904/p/7679639.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLPLUS命令使用大全

SQL*PLUS命令的使用大全Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中&#xff0c;可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句&#xff0c;它们执行完后&#xff0c;都可以保存在一个被称为sql buffer的内存区域…

html5表单实现简单计算器

html5表单实现简单计算器 <!DOCTYPE html><html><head> <title>this is a html page</title></head><body> <form οninput"res.value n1.valueAsNumber * n2.valueAsNumber"> <input type"number" …

[举一反三]使用javascript转换字符串为dom对象(字符串动态创建dom)

前言&#xff1a; 在javascript里面动态创建标准dom对象一般使用&#xff1a; var obj document.createElement(div); 然后再给obj设置一些属性。 但是&#xff0c;在实际使用过程中&#xff0c;有些人可能会想&#xff0c;要是能这样创建标准的dom对象就好了 伪代码&#xff…

propattr区别和用法,以多选框为例

1.比较 相同点 : prop和attr作为jquery的方法都可以获取属性值; 不同点 : (1) 对于HTML元素本身就带有的固有属性&#xff0c;使用prop方法, attr获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。 jq提供新的方法“prop…

20100506网络互联技术实验

请下载附件转载于:https://blog.51cto.com/network0546/310493

python学习笔记(15)循环设计

python学习笔记&#xff08;15&#xff09;循环设计 原链&#xff1a;http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html 注意&#xff1a;zip()在python2 3里面不一致 #第15讲 循环设计#循环在前面是有学习的&#xff0c;简单的循环for i in range(10):print (i*…

docker search 镜像关键词

查找镜像 docker search 镜像关键词 比如我要搜索nginx docker search nginx 参数说明&#xff1a; NAME: 镜像仓库源的名称 DESCRIPTION: 镜像的描述 OFFICIAL: 是否 docker 官方发布 stars: 类似 Github 里面的 star&#xff0c;表示点赞、喜欢的意思。 AUTOMATED: …

集群NAS+SSD如虎添翼

今天&#xff0c;集群NAS和基于文件的存储为什么会这么火&#xff1f;IDC提供的一些数据也许可以说明问题。从2005年到2011年&#xff0c;全球基于文件的存储年均增长率达到79.3%&#xff0c;而基于块级的存储年均增长率为31%。2008年是一道分水岭。在这一年&#xff0c;全球基…

C#3种常见的定时器(多线程)

总结以下三种方法&#xff0c;实现c#每隔一段时间执行代码&#xff1a; 方法一&#xff1a;调用线程执行方法&#xff0c;在方法中实现死循环&#xff0c;每个循环Sleep设定时间&#xff1b; 方法二&#xff1a;使用System.Timers.Timer类&#xff1b; 方法三&#xff1a;使用S…

在WORD中插入带圈的数字的序号

在WORD中可以通过插入符号的方式插入带圈的数字1至10&#xff0c;但超过10就没有办法了。常规也够 用了&#xff0c;但情况总有特殊的&#xff0c;如果不够再要插入11以上的怎么办&#xff1f;一般介绍使用“格式→中文版式→带圈字符”功能。但圈和圈内的数字总有不匹配的感觉…

005-JQuery之CSS

CSS位置尺寸CSS css(name|pro|[,val|fn]) &#xff1a;访问匹配元素的样式属性示例&#xff1a; 1 // 获取color样式属性的值 2 $(p).css("color"); 3 // 将所有段落的字体颜色设为红色并且背景为蓝色 4 $("p").css({ color: "#ff0011", backgro…

【NOIP2012】旅行计划

题解 双向链表加倍增。。。 正写着不一定能写对2333 终于写对了。。。 然而我的双向链表和别人的都不一样。。。 瑟瑟发抖。。。 代码 //by 减维 #include<cstdio> #include<iostream> #include<cstring> #include<queue> #include<cstdlib> #in…

扩展巴科斯范式

2019独角兽企业重金招聘Python工程师标准>>> 扩展巴科斯范式 维基百科&#xff0c;自由的百科全书 扩展巴科斯-瑙尔范式(EBNF)是表达作为描述计算机编程语言和形式语言的正规方式的上下文无关文法的元语法符号表示法。它是基本巴科斯范式(BNF)元语法符号表示法的一种…

20100519 学习记录:asp CreateFolder/上传附件

新增一个上传附件的功能。在网上找了一下&#xff0c;基本都是在化境HTTP上传程序基础上改的&#xff0c;灰常感谢这个源代码的开发者&#xff0c;深深鞠躬。不过这个代码要求在上传图片时&#xff0c;输入的文件夹必须是已存在的文件夹&#xff0c;不然就会出错&#xff0c;于…

洛谷P1420 最长连号

题目描述 输入n个正整数&#xff0c;&#xff08;1<n<10000),要求输出最长的连号的长度。&#xff08;连号指从小到大连续自然数&#xff09; 输入输出格式 输入格式&#xff1a; 第一行&#xff0c;一个数n; 第二行&#xff0c;n个正整数&#xff0c;之间用空格隔开。 输…

删除容器docker rm和强制删除容器docker rm -f

显示所有容器 docker ps -a删除容器&#xff0c;运行中的容器不行 docker rm 容器id强制删除容器&#xff0c;运行中的容器也是可以删除的 docker rm -f 容器iddocker rm 删除运行中的容器会报错 Error response from daemon: You cannot remove a running container 8c03b6c4d…

Exchange2007 从零到入门(2)---收件人管理

Exchange2007 从零到入门---收件人管理在上一次的文章中讲到了如何为企业部署安装exchange2007服务器。但是部署完成的服务器还并不能使用。因为现在的服务器中还没有用户。在exchange中&#xff0c;用户被称作为“收件人”&#xff0c;exchange中用户管理的主要任务就是对“收…

测试对bug如何分析和定位

如何去区分一个功能测试工程师的水平高和低&#xff1f; 可以从很多个方面去检查&#xff0c;比如测试的思路&#xff0c; 比如测试用例的覆盖度&#xff1f;&#xff0c;比如测试出bug是否能够定位到根因&#xff1f; 上面说的各个方面都很合理&#xff0c;那我们平常如何如更…