Formatação de moeda com JavaScript
Recentemente em um dos projetos que estou desenvolvendo senti a necessidade de fazer a formatação de um valor em float 4499.00 para reais R$ 4.499,00. Eis que então começo a dar uma pesquisada no Google e me deparo com uma API nativa do JavaScript que até então eu não conhecia, a Intl API.
Basicamente essa é uma API de internacionalização nativa do JavaScript que ajuda na formatação de valores como moeda, datas e horas.
NumberFormat
Seguindo no meu problema eu precisava formatar um valor de float para reais, a API fornece o método NumberFormat o que tornou muito simples resolver o meu problema.
let numberFormat = new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(4499.00)
console.log(numberFormat)
// R$ 4.499,00
A função recebe alguns parâmetros, o primeiro deles é o locales, que recebe uma string com a tag da linguagem ‘pt-BR’, ele segue o padrão BCP 47, o segundo parâmetro é um objeto com dois atributos:
style: o estilo do formato que será utilizado, podemos ter “decimal” para formato de números simples, “currency” para formato de moeda e “percent” para formato percentual.
currency: qual moeda será utilizada para a formatação, ‘BRL’ para real brasileiro, ‘EUR’ para euro, ‘USD’ para dolar americano, ele segue o padrão ISO 4217.
DateTimeFormat
A API Intl também permite realizar a formatação de data e horas com a função DateTimeFormat segue um pequeno exemplo de uso:
let dateFormat = new Intl.DateTimeFormat('pt-BR').format(Date.now())
console.log(dateFormat)
//27/04/2022