• C#:实现一个将字符串转换为整数的方法


    具体代码如下:暂不支持浮点数四舍五入操作

     1        static void Main(string[] args)
     2         {
     3             string numStr = "-177.00";
     4             int num;
     5             string isSuccess=IntParse(numStr, out num)?"Yes":"No";
     6             Console.WriteLine($"字符串:{numStr} 
    是否转换成功:{isSuccess}
    转换为整数:{num}");
     7             Console.ReadKey();                          
     8         }
     9         private static bool IntParse(string str,out int res)
    10         {
    11             Dictionary<string, int> numDic = new Dictionary<string, int>
    12             {
    13                 {"0",0 },
    14                 {"1",1 },
    15                 {"2",2 },
    16                 {"3",3 },
    17                 {"4",4 },
    18                 {"5",5 },
    19                 {"6",6 },
    20                 {"7",7 },
    21                 {"8",8 },
    22                 {"9",9 }
    23             };
    24             bool isNegative = false;
    25             res = 0;
    26             if (!String.IsNullOrEmpty(str))
    27             {
    28                 //符号位
    29                 if (str.Contains("-"))
    30                 {
    31                     isNegative = true;
    32                     str = str.Replace("-", "");
    33                 }
    34                 //小数位
    35                 if (str.Contains("."))
    36                 {
    37                     //暂时先不进行四舍五入
    38                     str = str.Substring(0, str.IndexOf("."));
    39                 }
    40                 char[] nums = str.ToArray();
    41                 try
    42                 {
    43                     for (int i = 0; i < nums.Length; i++)
    44                     {
    45 
    46                         int n = numDic[nums[i].ToString()];
    47                         if (res != 0)
    48                             res = res * 10 + n;
    49                         else
    50                             res = n;
    51                     }
    52                 }
    53                 catch
    54                 {
    55                     return false;
    56                 }
    57                 if (isNegative)
    58                     res=-res;
    59                 return true;             
    60             }
    61             return false;
    62         }

    运行结果:

  • 相关阅读:
    topsort模板,poj 2585
    CUG2012年暑期ACM训练赛(单人赛)
    第一个QT, "hello linux"
    AOE网络,最长路关键路径的学习
    种类位置信息:geometry
    标准对话框:StandardDialogs
    最近整理的模板
    单调队列的学习
    118 ZOJ Monthly, July 2012
    离散化 + unique + lower_bound的学习,hdu4325
  • 原文地址:https://www.cnblogs.com/ecake/p/8110146.html
Copyright © 2020-2023  润新知