class Solution
{
public:
int StrToInt(string str)
{
if (str.empty())
return 0;
int symbol = 1;//自定義正負轉換變量
if (str[0] == '-') //處理負號
{
symbol = -1;
str[0] = '0'; //這裏是字符'0',不是0
}
else if (str[0] == '+') //處理正號
{
symbol = 1;
//爲什麼這兩步要將str[0]賦值爲‘0’?
//因爲如果有正負號輸入進來將symbol設置後就可以在後面確定返回值的正負號了
//然後str[0]給成字符‘0’就是統一sum的計算過程,這一位給成0不會影響計算的結果
str[0] = '0';
}
int sum = 0;
for (int i = 0; i<str.size(); ++i)
{
if (str[i] < '0' || str[i] > '9')
{
sum = 0;
break;
}
sum = sum * 10 + str[i] - '0';
}
return symbol * sum;
}
};
字符串轉化爲整數(模擬實現atui)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.