JavaScript Adicionar vírgulas ao número

Harshit Jindal 12 outubro 2023
  1. Use expressões regulares para formatar números com vírgulas em JavaScript
  2. Use Intl.NumberFormat() para formatar números com vírgulas em JavaScript
  3. Use toLocaleString() para formatar números com vírgulas em JavaScript
JavaScript Adicionar vírgulas ao número

Este tutorial explica como podemos imprimir um número separado por vírgulas em JavaScript.

Podemos usar três métodos diferentes, dependendo do nosso caso de uso e da velocidade / eficiência exigida no processamento do número fornecido.

Use expressões regulares para formatar números com vírgulas em JavaScript

O regex usa duas asserções antecipadas:

  1. Uma afirmação antecipada positiva que procura um ponto na string contendo um grupo de 3 dígitos após ele.
  2. Uma afirmação antecipada negativa que garante que o ponto fornecido tenha um tamanho de grupo de exatamente 3 dígitos.

Em seguida, a expressão de substituição insere uma vírgula nessa posição.

Ele também cuida das casas decimais dividindo a string antes de aplicar a expressão regex na parte antes do decimal.

const numb = 213231221;

function separator(numb) {
  var str = numb.toString().split('.');
  str[0] = str[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
  return str.join('.');
}

console.log(separator(numb))

Resultado:

"213,231,221"

Use Intl.NumberFormat() para formatar números com vírgulas em JavaScript

Este método é usado para representar números em formatação sensível ao idioma e representar moeda de acordo com os parâmetros fornecidos. O parâmetro fornecido é denominado locale e especifica o formato do número. Por exemplo, o local en-IN assume o formato da Índia e do idioma inglês. A primeira vírgula da direita separa milhares e permanece em diante em termos de centenas.

Usaremos a função format() anexada ao objeto gerado por Intl.NumberFormat(). Esta função recebe o número e retorna uma string separada por vírgulas. Para obter uma string separada por mil, podemos usar a localidade en-US.

const givenNumber = 123423134231233423;

internationalNumberFormat = new Intl.NumberFormat('en-US')
console.log(internationalNumberFormat.format(givenNumber))

Resultado:

"123,423,134,231,233,420"

Use toLocaleString() para formatar números com vírgulas em JavaScript

O método toLocaleString() retorna uma string com a representação sensível ao idioma de um número, assim como o método acima. Ele também usa os parâmetros de localidade que especificam o formato do número.

const givenNumber = 123423134231233423;

console.log(givenNumber.toLocaleString('en-US'))

Resultado:

"123,423,134,231,233,420"

Todos os principais navegadores oferecem suporte a todas essas formas.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

Artigo relacionado - JavaScript Number