我试图检查对象是否是数字。
下面的 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?
如何检查对象是否为数字?
答案 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"也将是数字。