C#判断字符串中内容是否为纯数字的详细教程
作者:青丝蘸 发布时间:2022-12-05 07:44:38
标签:字符串,数字,判断
1.使用ASCII码判断
您可以使用ASCII码来进行判断字符串中的内容是否为纯数字。
步骤如下:
先判断字符串是否为空的情况,保证代码运行的稳定性;
将字符串按照ASCII编码规则获取字符数组,字符是Byte型,字符的Byte值为ASCII表对应;
遍历字符数组,判断字符数组中的每个字符是否全为数字。其中,ASCII表中0~9对应的ASCII值为48~57。
下面是代码的样子:
public bool isPureNum(string str)
{
if (str.Length==0 || str == null)//验证这个字符串是否为空
{
return false;
}
byte[] strBytes = Encoding.ASCII.GetBytes(str);//获取字符串的byte类型的字符数组,编码方式ASCII
foreach(byte strByte in strBytes)
{
if ((strByte<48) || (strByte>57)) //判断每个字符是否为数字,根据每个字符的ASCII值所在范围判断
{
return false; //不是,就返回false
}
}
return true; //是,就返回true
}
2.使用TryParse()方法
您可以使用TryParse()方法来识别字符串是否为数字,步骤如下:
它通过将指定的字符串转换为等效的有符号整数表示并返回true。如果转换成功, true;否则,false。
下面是代码的样子:
public bool isPureNum(string str)
{
bool isNumeric=int.TryParse(str,out _);
return isNumeric;
}
3.使用Regex.IsMatch()方法(正则表达式)
您可以使用正则表达式来检查字符串是否为数字。
这可以使用Regex.IsMatch()方法,它确定指定的字符串是否与提供的正则表达式匹配。
这在下面演示:(注意^匹配字符串的开头和$与它的结尾相匹配)
public bool isPureNum(string str)
{
if (str == null)//验证这个字符串是否为空 测试:字符串为空字符串不会发生异常,字符串为null会发生异常
{
return false;
}
bool isNumeric=System.Text.RegularExpressions.Regex.IsMatch(str,@"^\d+$");
return isNumeric;
}
4.使用Char.IsDigit()方法
您可以使用Char,IsDigit()方法与与Enumerable.All()方法来检查字符串是否为数字。
Char.IsDigit()方法返回一个布尔值,用来指明指定的字符是否为数字。
下面的代码演示了Char.IsDigit()方法与Enumerable.All()判断字符串是否为数字的方法:
public bool isPureNum(string str)
{
if (str == null)//验证这个字符串是否为空 测试:字符串为空字符串不会发生异常,字符串为null会发生异常
{
return false;
}
bool isNumeric = str.All(char.IsDigit);//检查字符串中的所有字符是否全为数字
return isNumeric;
}
来源:https://blog.csdn.net/i78i845/article/details/128534287


猜你喜欢
- 一、如何实现TCP通信要实现TCP通信需要创建一个服务器端程序和一个客户端程序,为了保证数据传输的安全性,首先需要实现服务器端程序,然后在编
- ServletWebServerApplicationContext实现了父类AbstractApplicationContext的onRe
- Synchronized实现可见性原理可见性要实现共享变量的可见性,必须保证两点:线程修改后的共享变量值能够及时从工作内存刷新到主内存中其他
- 本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下前端通过form表单的enctype属性,将数据传递方式修改
- System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一.优点1. 支持
- 一般在实际项目的开发中,会要求涉及日志记录的问题,比较常用的有Log4Net,NLog等几个,而小项目小工具的话,则无需费此大驾。而譬如串口
- 话不多说,请看代码:package com.lxj.demo;import java.io.BufferedReader;import ja
- 实现过滤请求有两种方式:一种就是用 * ,一种就是过滤器 * 相对来说比较专业,而过滤器虽然不专业但是也能完成基本的拦截请求要求。一、 *
- 为什么要限流在保证可用的情况下尽可能多增加进入的人数,其余的人在排队等待,或者返回友好提示,保证里面的进行系统的用户可以正常使用,防止系统雪
- C#处理猜拳问题的简单实例(非窗体)//猜拳,5局3胜,要求使用公用变量。namespace 结构体复习_公用变量{class Progra
- 背景最近公司的客户要求,分配给员工的任务除了有微信通知外,还希望PC端的网页也能实时收到通知。管理员分配任务是在我们的系统A,而员工接受任务
- 我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打j
- 前言当大家使用mybatis作为持久层框架时,在存储和查询数据时,只需要在mapper.xml文件中配置好对应字段的JdbcType和Jav
- Linux+Docker+SpringBoot+IDEA一键自动化部署的步骤记录从打包到服务器配置上线全流程安装docker详细步骤请戳这里
- 本文实例为大家分享了C#使用Datatable导出Excel的具体代码,供大家参考,具体内容如下using NPOI.SS.UserMode
- 悬浮窗在安卓中实现起来还是比较容易的,这几天在网上温习了相关资料,运行在我安卓6.0手机上才发现,原来在6.0手机上不是行的。第一反应肯定是
- 环境准备项目结构与前文相同:我们添加新的静态资源:因为添加了静态资源,SpringMVC会拦截,所有需要在SpringConfig的配置类中
- 用Flutter实现弹幕功能,轻松实现虎牙、斗鱼的弹幕效果。先来一张效果图:实现原理弹幕的实现原理非常简单,即将一条弹幕从左侧平移到右侧,当
- 1 仿射变换仿射变换:一种二维坐标到二维坐标的线性变换,它保持二维图像的平直性与平行性,即变换后直线依然是直线,平行的线依然平行。packa
- 当我们需要制作动态炫酷科技感很强的UI时,美术一般会给我们提供一些序列图,这时候我们只需在程序里实现序列动画。一.动画机unity自带的帧动