字符串数如何转换为整数?

时间:2014-01-30 11:13:22

标签: c++

#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”; 如何转换为整数

6 个答案:

答案 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 ++的编译器