Formatage des nombres avec des virgules en C
En C , la classe std::locale fournit un moyen dépendant des paramètres régionaux de formater les nombres avec des virgules .
std::locale avec std::stringstream
Pour formater un nombre sous forme de chaîne avec des virgules, vous pouvez utiliser std::locale avec std::stringstream comme suit :
#include
#include
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale("")); // Use the system's locale
ss Exemple d'utilisation :
std::string result1 = FormatWithCommas(7800);
std::string result2 = FormatWithCommas(5100100);
std::string result3 = FormatWithCommas(201234567890);
// result1 = "7,800"
// result2 = "5,100,100"
// result3 = "201,234,567,890"
Gestion des doubles
Pour formater un double sous forme de chaîne avec des virgules, vous pouvez utiliser la même approche que ci-dessus, mais le code sera besoin de gérer le point décimal :
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale(""));
ss Avertissement :
Notez que la portabilité des solutions ci-dessus peut être un problème, car les paramètres régionaux utilisés lorsque "" sont transmis peuvent varier en fonction du système.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3