转换浮点值时设置std :: to_string的精度
在C ++ 11中,当给定一个float
或double
types的input值时,std :: to_string默认为6个小数位。 推荐的或者最优雅的改变这种精度的方法是什么?
没有办法通过to_string()
更改精度,但是可以使用setprecision
IO操纵器来代替:
#include <sstream> #include <iomanip> template <typename T> std::string to_string_with_precision(const T a_value, const int n = 6) { std::ostringstream out; out << std::setprecision(n) << a_value; return out.str(); }