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;
}
};
c++实现:把字符串转换成整数
文章详细介绍了C++类Solution中实现的将字符串转换为整数的函数StrToInt,包括处理正负数、数字位移以及错误检查的逻辑。
摘要由CSDN通过智能技术生成