Установить точность std::to_string при преобразовании значений с плавающей запятой

В C++11 std:: to_string по умолчанию имеет 6 десятичных разрядов, когда задано входное значение типа float или же double, Каков рекомендуемый или самый элегантный метод для изменения этой точности?

1 ответ

Решение

Там нет никакого способа изменить точность с помощью to_string() но setprecision Вместо этого можно использовать манипулятор ввода-вывода:

#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();
}
Другие вопросы по тегам