Formatar dinheiro com JavaScript
2a atrás
A seguinte função em #JavaScript formata números ou strings numéricas para o formato do real:
function currencyFormatted(amount) {
return `R$ ${parseFloat(amount).toFixed(2).replace('.', ',').replace(/\d(?=(\d{3})+,)/g, '!code1!amp;.')}`;
}
Explicando a função
undefined
parseFloat(amount).toFixed(2)
Caso o parâmetro "amount" seja uma string numérica ele será convertido para float, logo após será adicionado duas casas decimais com .toFixed(2)
undefined
.replace('.', ',').replace(/\d(?=(\d{3})+,)/g, '!code1!amp;.')
undefined- .replace('.', ',') - vai substituir o ponto por ","- .replace(/\d(?=(\d{3})+,)/g, '$&.') - vai adicionar um "." logo após uma sequência de 3 dígitos antes da ","
Dessa forma, você pode usar a função "currencyFormatted" da seguinte maneira:
currencyFormatted(1); // R$ 1,00
currencyFormatted(2.5); // R$ 2,50
currencyFormatted('3.50'); // R$ 3,50
currencyFormatted(1000000); // R$ 1.000.000,00
Comentários (0)