[問題] 判斷是否為數值的方法

作者: siate (yee)   2016-12-26 02:37:45
我想要判斷由一個算式算出的結果是否為數字
因為如果算出的結果是虛數 會顯示"非數值"的字樣
我想要的功能是:如果是非數值 程式就不再執行下去
因為C#沒有IsNumeric的函式
查遍了網路 大多是推薦TryParse的方法
但那是傳入String 不是我要的
我要判斷的就是我算出來的結果 所以我根本還不知道會傳入數字還是字串("非數值")
有找到一個比較符合我需求的程式碼
但執行後就停住了 感覺就是被卡在這段程式碼裡面
但我也不知道要怎麼改... 或是有其他的好方法嗎QQ
private static bool IsNumeric(object value)
{
try
{
int i = Convert.ToInt32(value.ToString());
return true;
}
catch (FormatException)
{
return false;
}
}
主程式內執行的是 bool temp = IsNumeric(theta);
(theta就是算出的結果,但此時還不知是數字還是非數值,所以要判斷它的型態)
作者: konkonchou (卡卡貓)   2016-12-26 03:43:00
return (i==typeof(int) || i==typeof(double) ... )
作者: lUlanJa (空虛啊~)   2016-12-26 08:36:00
TryParse把value轉成string 再用TryParse呢
作者: Litfal (Litfal)   2016-12-26 15:48:00
看不太懂你的theta是啥
作者: sa73157 (欣婕)   2016-12-26 18:54:00
加入Microsoft.VisualBasic.dll參考就可以用Information.IsNumeric方法
作者: ychsutw   2015-01-01 20:56:00
if (value is int) {}

Links booklink

Contact Us: admin [ a t ] ucptt.com