如何识别字符串是否是数字?

如果我有这些字符串:

  • "abc" = false

  • "123" = true

  • "ab2" = false

  • 是否有像IsNumeric或其他的命令可以识别字符串是否是有效的数字?


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

    更新从C#7开始:

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

    var s可以用各自的类型替换!


    如果input是全部数字,这将返回true。 不知道它是否比TryParse更好,但它可以工作。

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

    如果你只是想知道它是否有一个或多个与字符混合的数字,请放弃^ +$

    Regex.IsMatch(input, @"d")
    

    编辑:其实我认为它比TryParse更好,因为很长的字符串可能会溢出TryParse。


    我已经多次使用这个函数:

    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;
    }
    

    但你也可以使用;

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

    从基准测试数字选项

    替代文字http://aspalliance.com/images/articleimages/80/Figure1.gif

    替代文字http://aspalliance.com/images/articleimages/80/Figure2.gif

    链接地址: http://www.djcxy.com/p/64109.html

    上一篇: How do I identify if a string is a number?

    下一篇: compile program and run in terminal