c++ 转换浮点值时设置std::to_string的精度[重复]

kokeuurv  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(244)

此问题在此处已有答案

The precision of std::to_string(double)(3个答案)
九年前就关门了。
在C++11中,当给定floatdouble类型的输入值时,std::to_string默认为6个小数位。建议使用什么方法来更改这个精度?

ylamdve6

ylamdve61#

无法通过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 std::move(out).str();
}

相关问题