首页 / .NET / 正文

[.NET/C#]C#程序开发中判断一个字符串是否是数字的方法有哪些呢?

4513 发布于: 2018-01-29 读完约需4分钟

问题描述

如题,在C#程序开发中,判断一个字符串是否是数字的方法有哪些呢?
比如,如下的字符串:

"abc" = false
"123" = true
"ab2" = false

方案一

使用int.TryParse()方法

int n;
bool isNumeric = int.TryParse("123", out n);

如果在 .NET 7.0中,还可以使用如下的实现:

var isNumeric = int.TryParse("123", out int n);

方案二

使用正则表达式来判断一个字符串是否为数字:

Regex.IsMatch(input, @"^\d+$")

方案三

public static bool IsNumeric(object Expression)
{
    double retNum;

    bool isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum);
    return isNum;
}

或者可以使用Microsoft.VisualBasic.Information.IsNumeric(...)方法,如下:

bool b1 = Microsoft.VisualBasic.Information.IsNumeric("1"); //true
bool b2 = Microsoft.VisualBasic.Information.IsNumeric("1aa"); // false

方案四

var isNum = stringTest.All(char.IsDigit);

方案五

public static class Extensions
{
    public static bool IsNumeric(this string s)
    {
        foreach (char c in s)
        {
            if (!char.IsDigit(c) && c != '.')
            {
                return false;
            }
        }

        return true;
    }
}

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: [.NET/C#]C#程序开发中如何将字符串编码成base64或者从base64编码中解码?

下一篇: [.NET/C#]C#程序开发中删除文件夹中的所有文件及子文件夹有哪些方法呢?

本文永久链接码友网 » [.NET/C#]C#程序开发中判断一个字符串是否是数字的方法有哪些呢?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册