如何将浮点转换为字符串

时间:2013-05-16 08:35:06

标签: c++

如何将浮点转换为字符串,并在浮点数为圆数时添加2位小数。目前我正在使用以下内容,但对于整数,我希望添加.00。我需要为此编写自己的例程吗?

float floatingNumber = 1.00;
string string;
ostringstream stream;

stream << floatingNumber;
string += stream.str(); // result is 1 not 1.00

2 个答案:

答案 0 :(得分:7)

您应手动设置精度并使用标记,这样您就可以使用fixed notation

setprecision fixed

stream << std::fixed << std::setprecision(2) << floatingNumber;

答案 1 :(得分:1)

如果您使用的是c ++ 11,则可以使用std::to_string()

将float转换为std :: string
float f(0.5f);
std::string str = std::to_string(f);

使用auto同样的事情:

auto f(0.5f); // f is a float
auto str = std::to_string(f); // str is a std::string

但是,您必须手动处理精度。