如何在C#中检查对象是否为数字

时间:2015-02-05 22:11:57

标签: c#

我试图检查对象是否是数字。

下面的 IsNumeric 功能大部分时间都有效,除非我传递" NaN"

的值

所以我有这个:

    private void button1_Click(object sender, EventArgs e)
    {
        object obj = "NaN";

        bool check = IsNumeric(obj);

        if (check)
        {
            MessageBox.Show(obj.ToString() + " is a number");
        }


    }

    public bool IsNumeric(object Expression)
    {
        bool isNum;
        double retNum;
        isNum = Double.TryParse(Convert.ToString(Expression), out retNum);
        return isNum;
    }

IsNumeric 功能会返回" true" 这是谎言。

我在这里找到了 IsNumeric 功能的建议: How do I identify if a string is a number?

如何检查对象是否为数字?

2 个答案:

答案 0 :(得分:2)

如果您不介意添加对VB库的引用,可以使用:

Microsoft.VisualBasic.Information.IsNumeric(expression)

答案 1 :(得分:1)

如果你唯一的麻烦是" NaN"然后试一试:isNum = Double.TryParse(Convert.ToString(Expression), out retNum) && !Double.IsNaN(retNum);

Btw" Infinity"和" -Infinity"也将是数字。