C#中 ,有没有判断一个string类型变量是否为数字类型的系统函数(如vb中的IsNumeric(s))? try{int.Parse(str);}catch(){} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自已写吧 public static bool IsNum(string ch) { string Digit= "1234567890"; for(int i =0;i<ch.Length ;i++) { if (Digit.IndexOf( ch[i],0) ==-1) { return false; } } return true; } public static bool IsFloat(string str) { try { float.Parse(str); return true; } catch { return false; } } 有一个函数可以判断单个字符是否为数字。bool char.IsDigit(); string s = "-3.14159E+10" 也要能转换为数字 除了try{}catch{},有没有更好的,更快的方法? 我觉得一楼方法很好,不过可以作点改变,首先不能用int,而是用double。另外可以定义一个函数(二楼的方法太麻烦了):public bool IsNumeric(string s, out double value){ bool bReturn = true; try { value = double.Parse(s); } catch { value = 0; bReturn = false; } finnaly { return bReturn; } }我试过,形式如string s = "-3.14159E+10",也能转换为double类型; 纠正一下,一个疏漏,忘了在finally中是不能有return的。改成这样就可以了,我在VS里验证了的。public bool IsNumeric(string s, out double value){ bool bReturn = true; try { value = double.Parse(s); } catch { value = 0; bReturn = false; } return bReturn; }调用:string s1="abc";string s2="-3.14159E+10";double d1,d2;bool ty1 = IsNumeric(s1,out d1);bool ty2 = IsNumeric(s2,out d2);结果:ty1=false;d1=0;ty2=true;d2=31415900000 楼上的,value好像是关键字哦 请教C#进程间匿名管道的使用 做过和研究过在线聊天系统的来看下 关于读写XML文件 送分!~C#高级编程(第三版) 这本书那里有下载的啊!~ 请教如何从object 转换到string[] 数组?请看源码 怎样才能完全退出程序 datagridView的多行删除问题!选中的行数但是总有一条删除不了 CrystalReport如何调用 rpt文件 文件删除问题 微软的专家,我知道你在,问个题好不? CMIC(大象)帮忙:在DataGrid的单元格中KeyPress和keyDown都捕获不到Enter键是怎么回事啊 请教!~请问在C#里能否实现像超市那种窄行的票据打印?如何实现?
{
string Digit= "1234567890";
for(int i =0;i<ch.Length ;i++)
{
if (Digit.IndexOf( ch[i],0) ==-1)
{
return false;
}
}
return true;
} public static bool IsFloat(string str)
{
try
{
float.Parse(str);
return true;
}
catch
{
return false;
}
}
bool char.IsDigit();
{
bool bReturn = true;
try
{
value = double.Parse(s);
}
catch
{
value = 0;
bReturn = false;
}
finnaly
{
return bReturn;
}
}
我试过,形式如string s = "-3.14159E+10",也能转换为double类型;
public bool IsNumeric(string s, out double value)
{
bool bReturn = true;
try
{
value = double.Parse(s);
}
catch
{
value = 0;
bReturn = false;
}
return bReturn;
}调用:
string s1="abc";
string s2="-3.14159E+10";
double d1,d2;
bool ty1 = IsNumeric(s1,out d1);
bool ty2 = IsNumeric(s2,out d2);
结果:
ty1=false;d1=0;
ty2=true;d2=31415900000