Como formatar valores de preços para Real


Reputação 2

Usando um script e passando o input o do usuário como entrada, você pode formatar o valor em moeda em Real.


const run = (valor) => {
valor = parseFloat(valor).toFixed(2);
valor = valor.toString().replace(/\D/g,"");
valor = valor.toString().replace(/(\d)(\d{8})$/,"$1.$2");
valor = valor.toString().replace(/(\d)(\d{5})$/,"$1.$2");
valor = valor.toString().replace(/(\d)(\d{2})$/,"$1,$2");
return valor;
}

Essa forma encontrei nessa fonte: Formatar valor Float como moeda usando Jquery - Stack Overflow em Português


Realizei a pesquisa em jQuery, pois não estava conseguindo trabalhar com funcionalidade mais atuais no caso o Intl formato de moeda de acordo com o pais que desejar.


Ex.: valor 16 → 16,00 | 160.00 → 160,00 | 1600.56 → 1.600,56.


Obs.: caso você queira com o valor R$ na frente é só fazer uma concatenação na linha do return.

return R$ ${valor};


Lembre-se estou postando dessa forma, pois não estava funcionando usando assim toLocaleString e o Intl:


const run = (money) => {
const formatedMoney = parseFloat(money).toLocaleString('pt-br', { style: 'currency', currency: 'BRL' });
return R$ ${formatedMoney};
}


1 comentário

Reputação 7
Crachá +2

MUITO BRABO FILHO, esse dez é dez mesmo

Comente