4

整数を文字列に変換したい。この方法で試してみましたが、うまくいきませんでした

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

}
4

3 に答える 3

10

std::to_string関数はそれを行う必要があります:

string x = std::to_string(y);

反対に、それは次のstd::stoiとおりです。

int z = std::stoi(y, nullptr, 10);
于 2013-09-24T18:43:12.960 に答える
5

いいえ、それ以降は機能せず、どのクラス階層にも関連していませんintstd::stringしたがって、 astatic_castは失敗します。

簡単な方法 (必ずしも最速の方法ではありません) は、次のように記述します。

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

ただし、C++11 コンパイラを使用している場合は、Joachim Pileborg のソリューションの方がはるかに優れています。

于 2013-09-24T18:42:58.183 に答える
1

これを持つことができます:

  template <typename T>
  string CovertToString ( T Number )
  {
     ostringstream ss;
     ss << Number;
     return ss.str();
  }
于 2013-09-24T18:44:20.890 に答える