号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

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

.NET 作者: Rector 159阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

如题,在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#程序开发中判断一个字符串是否是数字的方法有哪些呢?

发布于: 2018-01-29 17:42:51
分享扩散:

文章评论

获取验证码