我知道如何在字符串由整数组成时转换字符串,或者以int开头。当字符串以开头或中间的字符开头时,我试图转换为整数。我试过运行for循环,在尝试stoi,stringstream,atoi等之前检查是否(isdigit(str [i])...它们都没有真正起作用。即使没有for循环我也有同样的问题。我我试过谷歌搜索我的问题,但没有运气。任何建议,或任何我可以尝试的东西?
答案 0 :(得分:2)
如果是一个数字,你必须逐个字符检查,如果是,则将其添加到新字符串。最后,您可以像往常一样将新字符串转换为int。看下面的代码。希望我能帮忙!
string s = "pc2jjj10";
char temp;
string result;
for (int i = 0; i < s.length(); i++){
temp = s.at(i);
if (isdigit(temp)){
result.push_back(temp);
}
}
int number = stoi(result);