#include <iostream>
using namespace std;
int main() {
string a = "1234"; //How this string convert in integer number
system("pause");
return EXIT_SUCCESS;
}
string a =“1234”; 如何转换为整数
答案 0 :(得分:2)
如果你有C ++ 11及更高版本,请使用
int n = std::stoi(a);
(Pre C ++ 11,你可以使用std::strtol;
)
答案 1 :(得分:2)
您可以使用std::stoi()将std::string
转换为int
。
#include <iostream>
#include <string>
int main() {
std::string a = "1234"; //How this string convert in integer number
int b = std::stoi(a);
system("pause");
return EXIT_SUCCESS;
}
答案 2 :(得分:1)
你必须使用std :: stoi:
#include <iostream>
#include <string>
std::string s = "123";
int number= std::stoi(s);
答案 3 :(得分:1)
你可以使用boosts lexical cast
#include <boost/lexical_cast.hpp>
std::string str_num = "12345";
int value = 0;
try
{
value = boost::lexical_cast<int>(str_num);
}
catch(boost::bad_lexical_cast &)
{
// error with conversion - calling code will deal with
}
这样,如果你的字符串包含那些类型的数值,你可以很容易地修改代码来处理float或double
答案 4 :(得分:0)
C ++标准具有特殊功能
int stoi(const string& str, size_t *idx = 0, int base = 10);
答案 5 :(得分:0)
可能你可以试试这个
string a = "28787" ;
int myNumber;
istringstream ( a) >> myNumber;
查看或者您可以搜索stoi功能并查看它是如何使用的。可能它可以工作但从不尝试因为我没有c ++的编译器