2015-02-05 78 views
-6

我正在嘗試檢查對象是否爲數字。如何在C中檢查對象是否是數字#

則IsNumeric功能工作的大部分時間除了當我路過的「南」的值

所以我有這樣的:

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功能可按回報「真」這是一個謊言。

我發現則IsNumeric功能在這裏的建議: How do I identify if a string is a number?

如何檢查對象是否是數字或不?

+1

您是否熟悉GetType()的'TypeOf'? – MethodMan 2015-02-05 22:14:34

+1

是Byte []數值還是不是? – Marty 2015-02-05 22:15:10

+0

https://msdn.microsoft.com/en-us/library/system.object.gettype%28v=vs.110%29.aspx'Object.GetType()'這是在C#中的東西# – MethodMan 2015-02-05 22:16:29

回答

1

如果你的唯一的麻煩是與「南」,那麼試試這個:isNum = Double.TryParse(Convert.ToString(Expression), out retNum) && !Double.IsNaN(retNum);

順便說一下「無限」和「-Infinity」也是數字。

2

如果你不介意增加了VB庫的引用,您可以使用:

Microsoft.VisualBasic.Information.IsNumeric(expression) 
相關問題