【发布时间】:2015-04-05 23:05:53
【问题描述】:
我正在尝试检查对象是否为数字。
下面的 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?
如何检查对象是否为数字?
【问题讨论】:
-
你熟悉
TypeOfofGetType() -
Byte[] 是不是数字?
-
msdn.microsoft.com/en-us/library/…
Object.GetType()这是 C# 中的东西 -
@Pabinator,我很困惑您是否有要检查的未知类型的对象(如您的描述所示),或者您是否有要检查的字符串值(正如您的代码所建议的那样)。
-
这些数字中的任何一个:“seven”、“pi”、“XLII”、“0xDeadBeef”、“1993 年英国的 GDP”、“sqrt(-1)”、“i” 、“e”、“6.02e23”、“2^128”、“1 兆吨 TNT 以克质量缺陷计”、“生命、宇宙和一切终极问题的答案”?也许有一个WolframAlpha API 会有所帮助。
标签: c#