Function:
/// <summary> /// ToInt /// </summary> /// <param name="str"></param> /// <returns></returns> public static int atoi(string str) { string strNew = str.Trim(); string ch = strNew.Substring(0, 1); string result = ""; int bl = 0; double re; bool flag = true; for (int i = 1; i < strNew.Length; i++) { string s = strNew.Substring(i, 1); if (int.TryParse(s, out bl)) { if (Convert.ToInt32(s) == 0) continue; switch (ch) { case "0": result = result + s.ToString(); break; case "+": result = result + s.ToString(); break; case "-": flag = false; result = result + s.ToString(); break; default: if (i == 1) result = result + ch.ToString(); result = result + s.ToString(); break; } } else break; } if (!string.IsNullOrEmpty(result)) { re = Convert.ToDouble(result); if (!flag) re = -re; if (re < int.MinValue || re > int.MaxValue) re = 0; } else re = 0; return (int)re; }
控制台展示:
static void Main(string[] args) { Console.WriteLine("请输入要转化的字符串:"); string str = Console.ReadLine(); int re = atoi(str); if (re != 0) Console.WriteLine("转化后:" + re); else Console.WriteLine("该字符串不能转换为整数!"); Console.ReadKey(); }