Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Невозможно изменить точность с помощью 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();
}