class Solution {
public:
int StrToInt(string str) {
int sum = 0;
int i = 0;
int flag = 0;//如果出现负数的情况,标记一下
for (i = 0;i < str.length();i++)
{
if (i == 0) {//第一位可以是+-或者数字
if ((str[i] >= 49 && str[i] <= 57))//1-9ascii码是49-57
{
sum += (str[i] - 48);
}
else if (str[i] == '+' || str[i] == '-')
{
if (str[i] == '-')
{
flag = 1;
}
}
else {
return 0;
}
}
else {
if (str[i] >= 49 && str[i] <= 57)//中途出现数字
{
sum *= 10;
sum += str[i] - 48;
}
else {//出现非数字
return 0;
}
}
}
if (flag == 1)
{
sum = 0 - sum;
}
return sum;
}
};
07-16
629
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-16
155
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交