Dans C++ 11, la valeur par défaut de std :: to_string est de 6 décimales lorsque la valeur d'entrée est de type float
ou double
. Quelle est la méthode recommandée ou la plus élégante pour modifier cette précision?
Il n'y a aucun moyen de changer la précision via to_string()
mais le manipulateur setprecision
IO) pourrait être utilisé à la place:
#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();
}