C++,字符串和整数转换问题
C++, Trouble with string and int conversion
我知道如何转换仅由整数组成或以整数开头的字符串。当字符串在开头或中间以 char 开头时,我试图转换为整数。我已经通过 for 循环尝试 运行,在尝试 stoi、stringstream、atoi 等之前检查是否 (isdigit(str[i])...None 它们真的有效。我有相同的即使没有 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);
我知道如何转换仅由整数组成或以整数开头的字符串。当字符串在开头或中间以 char 开头时,我试图转换为整数。我已经通过 for 循环尝试 运行,在尝试 stoi、stringstream、atoi 等之前检查是否 (isdigit(str[i])...None 它们真的有效。我有相同的即使没有 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);