如何将整数转换为字符串

时间:2013-09-24 18:41:52

标签: c++ casting

我想将整数转换为字符串。我试过这种方式,但这不起作用

void foo()
{
    int y = 1;
    string x = static_cast<string>(y);

}

3 个答案:

答案 0 :(得分:9)

std::to_string函数应该这样做:

string x = std::to_string(y);

相反,它是std::stoi

int z = std::stoi(y, nullptr, 10);

答案 1 :(得分:5)

不,这不起作用,因为intstd::string在任何类层次结构中都不相关。因此,static_cast将失败。

一种简单的方法(虽然不一定是最快的方法)是写

std::stringsteam ss;
ss << y;
std::string x = ss.str();

但是,如果你有一个C ++ 11编译器,Joachim Pileborg的解决方案很多更好。

答案 2 :(得分:1)

可以这样:

  template <typename T>
  string CovertToString ( T Number )
  {
     ostringstream ss;
     ss << Number;
     return ss.str();
  }