整数を文字列に変換したい。この方法で試してみましたが、うまくいきませんでした
void foo()
{
int y = 1;
string x = static_cast<string>(y);
}
std::to_string
関数はそれを行う必要があります:
string x = std::to_string(y);
反対に、それは次のstd::stoi
とおりです。
int z = std::stoi(y, nullptr, 10);
いいえ、それ以降は機能せず、どのクラス階層にも関連していませんint
。std::string
したがって、 astatic_cast
は失敗します。
簡単な方法 (必ずしも最速の方法ではありません) は、次のように記述します。
std::stringsteam ss;
ss << y;
std::string x = ss.str();
ただし、C++11 コンパイラを使用している場合は、Joachim Pileborg のソリューションの方がはるかに優れています。
これを持つことができます:
template <typename T>
string CovertToString ( T Number )
{
ostringstream ss;
ss << Number;
return ss.str();
}