字符串转换成整数
作者:
远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
网友评论