標籤:line static continue out ase rgs 控制 res ram
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(); }
leetcode系列---atoiFunction C#code