1. ホーム
  2. c++

[解決済み] C++でfloatをstd::stringに変換する

2022-03-05 13:35:25

質問

浮動小数点数の値を std::string . 浮動小数点数から文字列に変換するにはどうすればよいですか?

float val = 2.5;
std::string my_val = val; // error here

解決方法は?

パフォーマンスを気にしないのであれば 文字列ストリーム :

#include <sstream>
//..

std::ostringstream ss;
ss << myFloat;
std::string s(ss.str());

Boostでいいなら。 lexical_cast<> は便利な代替手段です。

std::string s = boost::lexical_cast<std::string>(myFloat);

効率的な代替手段としては、例えば ファストフォーマット または単にC言語スタイルの関数です。