在C++11中,当给定类型为float
或double
的输入值时,std::to_string
默认为6位小数。改变这种精度的推荐或最优雅的方法是什么?
发布于 2013-05-17 17:50:15
无法通过to_string()
更改精度,但可以使用setprecision
IO操纵器:
#include <sstream>
template <typename T>
std::string to_string_with_precision(const T a_value, const int n = 6)
{
std::ostringstream out;
out.precision(n);
out << std::fixed << a_value;
return out.str();
}
https://stackoverflow.com/questions/16605967
复制相似问题