C#怎么判断字符串中内容是否为纯数字

其他教程   发布日期:2025年02月03日   浏览次数:216

这篇“C#怎么判断字符串中内容是否为纯数字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么判断字符串中内容是否为纯数字”文章吧。

1.使用ASCII码判断

您可以使用ASCII码来进行判断字符串中的内容是否为纯数字。

步骤如下:

  • 先判断字符串是否为空的情况,保证代码运行的稳定性;

  • 将字符串按照ASCII编码规则获取字符数组,字符是Byte型,字符的Byte值为ASCII表对应;

  • 遍历字符数组,判断字符数组中的每个字符是否全为数字。其中,ASCII表中0~9对应的ASCII值为48~57。

下面是代码的样子:

  1. public bool isPureNum(string str)
  2. {
  3. if (str.Length==0 || str == null)//验证这个字符串是否为空
  4. {
  5. return false;
  6. }
  7. byte[] strBytes = Encoding.ASCII.GetBytes(str);//获取字符串的byte类型的字符数组,编码方式ASCII
  8. foreach(byte strByte in strBytes)
  9. {
  10. if ((strByte<48) || (strByte>57)) //判断每个字符是否为数字,根据每个字符的ASCII值所在范围判断
  11. {
  12. return false; //不是,就返回false
  13. }
  14. }
  15. return true; //是,就返回true
  16. }

2.使用TryParse()方法

您可以使用TryParse()方法来识别字符串是否为数字,步骤如下:

它通过将指定的字符串转换为等效的有符号整数表示并返回true。如果转换成功, true;否则,false。

下面是代码的样子:

  1. public bool isPureNum(string str)
  2. {
  3. bool isNumeric=int.TryParse(str,out _);
  4. return isNumeric;
  5. }

3.使用Regex.IsMatch()方法(正则表达式)

您可以使用正则表达式来检查字符串是否为数字。

这可以使用Regex.IsMatch()方法,它确定指定的字符串是否与提供的正则表达式匹配。

这在下面演示:(注意^匹配字符串的开头和$与它的结尾相匹配)

  1. public bool isPureNum(string str)
  2. {
  3. if (str == null)//验证这个字符串是否为空 测试:字符串为空字符串不会发生异常,字符串为null会发生异常
  4. {
  5. return false;
  6. }
  7. bool isNumeric=System.Text.RegularExpressions.Regex.IsMatch(str,@"^d+$");
  8. return isNumeric;
  9. }

4.使用Char.IsDigit()方法

您可以使用Char,IsDigit()方法与与Enumerable.All()方法来检查字符串是否为数字。

Char.IsDigit()方法返回一个布尔值,用来指明指定的字符是否为数字。

下面的代码演示了Char.IsDigit()方法与Enumerable.All()判断字符串是否为数字的方法:

  1. public bool isPureNum(string str)
  2. {
  3. if (str == null)//验证这个字符串是否为空 测试:字符串为空字符串不会发生异常,字符串为null会发生异常
  4. {
  5. return false;
  6. }
  7. bool isNumeric = str.All(char.IsDigit);//检查字符串中的所有字符是否全为数字
  8. return isNumeric;
  9. }

以上就是C#怎么判断字符串中内容是否为纯数字的详细内容,更多关于C#怎么判断字符串中内容是否为纯数字的资料请关注九品源码其它相关文章!