En C++11, std::to_string
utilise par défaut 6 décimales lorsqu'il reçoit une valeur d'entrée de type float
o double
. Quelle est la méthode recommandée, ou la plus élégante, pour modifier cette précision ?
Réponse
Trop de publicités?Il n'y a aucun moyen de modifier la précision via to_string()
mais le setprecision
Un manipulateur 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();
}