C++11から数値と文字列の変換を簡単にできるようになりました。
数値を文字列に変換する
数値を文字列に変換するには「std::to_string」関数を使用します。
例:std::stringに変換する
int val = 123;
std::string str = std::to_string(val); // "123"
例:std::wstringに変換する
int val = 123;
std::wstring str = std::to_wstring(val); // "123"
文字列をint型に変換する
文字列をint型に変換するには「std::stoi」関数を使用します。
例:文字列をint型に変換する
std::string s = "123";
int i = std::stoi(s); // 123
例:16真数として文字列をint型に変換する
std::string s = "10";
int i = std::stoi(s, nullptr, 16); //16
std::string s = "0xFF";
int i = std::stoi(s, nullptr, 16); //255
例:8真数として文字列をint型に変換する
std::string s = "10";
int i = std::stoi(s, nullptr, 8); //8
文字列をfloat型に変換する
文字列をfloat型に変換するには「std::stof」関数を使用します。
例:文字列をfloat型に変換する
std::string s = "12.3";
float f = std::stof(s); //12.3
例:指数表現の文字列をfloat型に変換する
std::string s = "1.234e2";
float f = std::stof(s); //123.4