"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como formatar números com vírgulas em C++ usando std::locale?

Como formatar números com vírgulas em C++ usando std::locale?

Publicado em 2024-11-07
Navegar:596

How to Format Numbers with Commas in C   Using std::locale?

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.

Tutorial mais recente Mais>

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