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

标签:字符串,数字,判断
0
投稿

猜你喜欢

  • SpringBoot 使用log4j2的配置过程

    2021-11-09 04:15:25
  • java并发包JUC同步器框架AQS框架原文翻译

    2022-08-22 22:17:23
  • Android实现拍照、选择相册图片并裁剪功能

    2022-09-22 12:25:44
  • C# 实现PPT 每一页转成图片过程解析

    2023-02-21 10:01:27
  • android底层去掉虚拟按键的实例讲解

    2022-01-29 17:53:14
  • 一文探寻Java装箱和拆箱的奥妙

    2022-08-15 21:41:21
  • Java安全框架——Shiro的使用详解(附springboot整合Shiro的demo)

    2022-05-29 09:46:46
  • 详细解读Hibernate的缓存机制

    2023-05-03 21:02:52
  • 桌面浮动窗口(类似恶意广告)的实现详解

    2023-04-28 06:02:27
  • 解决IDEA中不能正常输入光标变粗的问题

    2023-11-29 20:14:58
  • C#8 的模式匹配实现

    2023-02-11 16:22:16
  • Java求解两个非负整数最大公约数算法【循环法与递归法】

    2021-10-15 13:53:48
  • Android实现背景图滑动变大松开回弹效果

    2022-10-15 10:45:15
  • unity3D实现摄像机抖动特效

    2022-09-20 12:10:42
  • C#泛型概念的简介与泛型的使用

    2023-10-12 05:13:02
  • Android Activity向右滑动返回

    2021-12-06 16:56:06
  • Java ArrayList与LinkedList及HashMap容器的用法区别

    2022-07-07 00:53:25
  • android自定义view用path画长方形

    2022-07-20 21:03:00
  • 2021年最新Redis面试题汇总(3)

    2022-02-27 13:31:22
  • Java多线程Callable接口实现代码示例

    2021-08-06 14:29:01
  • asp之家 软件编程 m.aspxhome.com