我想将整数转换为字符串。我试过这种方式,但这不起作用
void foo()
{
int y = 1;
string x = static_cast<string>(y);
}
答案 0 :(得分:9)
std::to_string
函数应该这样做:
string x = std::to_string(y);
相反,它是std::stoi
:
int z = std::stoi(y, nullptr, 10);
答案 1 :(得分:5)
不,这不起作用,因为int
和std::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();
}