leetcode系列---atoiFunction C#code

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();
        }

  

posted @ 2018-02-08 10:58  T丶MELO  阅读(192)  评论(0编辑  收藏  举报