如何将浮点转换为字符串,并在浮点数为圆数时添加2位小数。目前我正在使用以下内容,但对于整数,我希望添加.00。我需要为此编写自己的例程吗?
float floatingNumber = 1.00;
string string;
ostringstream stream;
stream << floatingNumber;
string += stream.str(); // result is 1 not 1.00
答案 0 :(得分:7)
您应手动设置精度并使用标记,这样您就可以使用fixed notation
stream << std::fixed << std::setprecision(2) << floatingNumber;
答案 1 :(得分:1)
如果您使用的是c ++ 11,则可以使用std::to_string()
将float转换为std :: stringfloat 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
但是,您必须手动处理精度。