关于c ++:如何将整数转换为字符串

How to convert an integer to a string

本问题已经有最佳答案,请猛点这里访问。

我想把一个整数转换成一个字符串。我试过了,但没用

1
2
3
4
5
6
void foo()
{
    int y = 1;
    string x = static_cast<string>(y);

}

std::to_string函数应执行以下操作:

1
string x = std::to_string(y);

相反,它是std::stoi

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


不,因为intstd::string在任何阶级继承关系中都没有关联,所以这是不起作用的。因此,static_cast将失败。

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

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

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


可以这样:

1
2
3
4
5
6
7
  template <typename T>
  string CovertToString ( T Number )
  {
     ostringstream ss;
     ss << Number;
     return ss.str();
  }