美文网首页
字符串转换成整数

字符串转换成整数

作者: 远o_O | 来源:发表于2017-08-20 14:10 被阅读7次
    • 注意边界条件:字符串是否为空、长度是否为0、开头是'+'、'-'的情况
    • 核心算法:在for循环中,将一串数字字符转化为数字,可以看作一个技巧。指针不需要从个位开始。
    sum = sum * 10 + str.charAt(i) - '0';
    

    完整代码:

        public static int parseInt(String str)
        {
            if (str == null || str.length() == 0)
                return 0;
    
            //正数
            int negv = 0;
            if (str.charAt(0) == '-')
                negv = 1;//负数
    
            int sum = 0;
            for (int i = negv; i < str.length(); ++i)
            {
                //如果第一位为+号,直接跳过
                if (i == 0 && str.charAt(i) == '+')
                    continue;
    
                //如果一旦有不合法的字符,直接返回0
                if (str.charAt(i) < '0' || str.charAt(i) > '9')
                    return 0;
    
                //核心算法,也算是一个技巧吧。
                sum = sum * 10 + str.charAt(i) - '0';
            }
            return negv == 0 ? sum : sum * -1;
        }
    

    相关文章

      网友评论

          本文标题:字符串转换成整数

          本文链接:https://www.haomeiwen.com/subject/ugsfdxtx.html