我想将一个浮点数附加到一个带有默认iostream浮点格式的字符串,例如4.2f以下方式:
std::string s;
s.append("float format: ");
s.append(std::to_string((float) 4.3)));
s.append(" : end");
我想找到一个生成以下结果的函数:
float format: 4.3f : end
但上面的代码反而给了我这个结果:
float format: 4.300000000000 : end
我必须格式化然后放入字符串。推送iostream时我不想格式化。
答案 0 :(得分:2)
使用stringstream找到一种方法:)然后它使用默认的ostream float格式并将其推送到字符串:)
std::stringstream ss;
std::string s;
ss << 3.4;
ss >> s;
std::cout << s.append("f") << std::endl;
生成以下输出:
3.4f