日期:2014-05-18 浏览次数:20904 次
有两个简单法,
其一:不让用TryParse,那自写一个呗:
using System; class test { static void Main() { string s1=Console.ReadLine(); int i; if(myTryParse(s1,out i)) { Console.WriteLine("成功:"+i); } else { Console.WriteLine("失败:请输入数字!"); } } static bool myTryParse(string s,out int i) { try { int temp=Convert.ToInt32(s); } catch { i=-1;return false; } if(Convert.ToInt32(s)>=0||Convert.ToInt32(s)<0) { i=Convert.ToInt32(s); return true; } else { i=-1; return false; } } }
其二:用一个网友laoliu提供的办法,并借鉴Javascript 的parseInt()的优点,充实laoliu的代码:
using System; class test { static void Main() { Console.WriteLine(s2i(Console.ReadLine())); } static int s2i(string s) { char[] c1=s.ToCharArray(); int result=0; for(int i=0;i<c1.Length;i++) { if(c1[i]>=48&&c1[i]<=57) result=(result*10)+c1[i]-'0'; else continue; } return result; } }