class Solution {
public:
int myAtoi(string str) {
int rtn = 0;
if (str.length() < 1){
return rtn;
}
int symbol = 1;
bool start = false;
for (int i = 0; i < str.length(); i ++){
if (start == false){
if (str[i] == ' '){
continue;
}
start = true;
if (str[i] == '-'){
symbol = -1;
continue;
}
if (str[i] == '+'){
continue;
}
}
int temp = str[i] - 48;
if (temp >= 0 and temp <= 9){
if (rtn > INT_MAX/10 or (rtn == INT_MAX/10 and temp >= INT_MAX % 10)){
return INT_MAX;
}
if (rtn < INT_MIN/10 or (rtn == INT_MIN/10 and -temp <= INT_MIN % 10)){
return INT_MIN;
}
rtn = rtn * 10 + temp * symbol;
}else{
break;
}
}
return rtn;
}
};
字符串格式的数字转化成实数,很多小细节很有意思