如何将整数转换为字符串

DSP*_*ent 4 c++ casting

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

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

}
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 10

std::to_string功能应该这样做:

string x = std::to_string(y);
Run Code Online (Sandbox Code Playgroud)

相反,它是std::stoi:

int z = std::stoi(y, nullptr, 10);
Run Code Online (Sandbox Code Playgroud)

  • 注意:这只有具有C++ 11支持的编译器支持(到目前为止你应该可以使用). (2认同)

Bat*_*eba 5

不,这不会起作用,int并且std::string在任何类heirarchy中都没有关联.因此,一个static_cast将失败.

一种简单的方法(尽管不一定是最快的方法)就是写作

std::stringsteam ss;
ss << y;
std::string x = ss.str();
Run Code Online (Sandbox Code Playgroud)

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