这个问题已经在这里有一个答案:
- 性病的精度:: to_string(双) 3个回答
在C ++ 11,的std :: to_string默认为6位小数时给定类型的输入值float
或double
。 被推荐的是什么,或者最优雅的,改变这种精确的方法?
这个问题已经在这里有一个答案:
在C ++ 11,的std :: to_string默认为6位小数时给定类型的输入值float
或double
。 被推荐的是什么,或者最优雅的,改变这种精确的方法?
有没有办法改变通过精密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();
}