C++,字符串和int转换有问题

C++, Trouble with string and int conversion

本文关键字:转换 有问题 int 字符串 C++      更新时间:2023-10-16

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

您必须逐个字符检查它是否为数字,如果是,则将其添加到新字符串中。最后,您可以像往常一样将新字符串转换为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);