Formatando números com vírgulas em C
Em C , a classe std::locale fornece uma maneira dependente da localidade de formatar números com vírgulas .
std::locale com std::stringstream
Para formatar um número como uma string com vírgulas, você pode usar std::locale com std::stringstream da seguinte forma:
#include
#include
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale("")); // Use the system's locale
ss Exemplo de uso:
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"
Tratamento de duplos
Para formatar um duplo como uma string com vírgulas, você pode usar a mesma abordagem acima, mas o código irá precisa lidar com o ponto decimal:
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale(""));
ss Isenção de responsabilidade:
Observe que a portabilidade das soluções acima pode ser um problema, pois a localidade usada quando "" é passado pode variar dependendo do sistema.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3