preloder

Formatar moeda, dinheiro com JavaScript do jeito fácil



Quem nunca precisou formatar um número como moeda ou dinheiro no JavaScript. Na internet é possível encontrar dezenas de soluções para isso,

formatar input de um formulário como moeda, dinheiro

Se você estiver precisando formatar um input de um form como moeda talvez este outro artigo seja mais interessante para você – Como formatar campos de CPF, CEP, Telefone e moeda com jQuery (jMask).

Formatando uma variável como moeda, dinheiro com JavaScript

Supondo que o valor que você deseja formatar não vem de input, ou não é digitado pelo usuário, supondo que o valor que você deseja formatar vem de um cálculo, ou uma variável qualquer, os códigos a seguir mostram de forma simples como resolver.

formatando Moeda, Dinheiro usando toLocaleString() do JavaScript

Existe uma forma muito simples de se formatar dinheiro, basta usar o toLocaleString(), uma função nativa do próprio JavaScript.

O toLocaleString() permite definir e localização do usuário, mas calma, não estou falando de geolocalização. Por exemplo, se você sabe que todos os visitantes do seu site são brasileiros você pode configurar o toLocaleString() para formatar números no formato Real Brasileiro, cuja abreviatura é BRL.

Vamos a um exemplo;

<script>
	var valor = 568.56;
	var valorFormatado = valor.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' });
	alert('O valor formatado de ' + valor + ' é ' + valorFormatado);
</script>

Eis o resultado;

Como formatar sem o cifrão R$

Se você precisa formatar moeda ou dinheiro mas não quer que o cifrão R$ apareça, neste caso basta não usar a estilização de currency, substituindo-o por minimumFractionDigits: 2});, ficando assim;

<script>
	var valor = 568.5;

        //Valor com cifrão
	var valorFormatado = valor.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' });
	alert('O valor formatado de ' + valor + ' é ' + valorFormatado);

        //Valor sem cifrão	
	var valorFormatado2 = valor.toLocaleString('pt-BR', { minimumFractionDigits: 2});
	alert('O valor formatado sem o cifrão de ' + valor + ' é ' + valorFormatado2);
</script>

Eis o resultado;

Deixe seu comentário