[问题] 判断是否为数值的方法

楼主: 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