C ++,麻烦的字符串和int转换

时间:2015-03-29 15:51:29

标签: c++ string int stringstream

我知道如何在字符串由整数组成时转换字符串,或者以int开头。当字符串以开头或中间的字符开头时,我试图转换为整数。我试过运行for循环,在尝试stoi,stringstream,atoi等之前检查是否(isdigit(str [i])...它们都没有真正起作用。即使没有for循环我也有同样的问题。我我试过谷歌搜索我的问题,但没有运气。任何建议,或任何我可以尝试的东西?

1 个答案:

答案 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);