Dicas, tutorias, notícias sobre PHP, JS, jQuery, CSS, HTML, NodeJS, MySQL e muito mais
Converter numero para moeda e vice versa

Converter numero para moeda e vice versa

Fala galera belezera?!

bom nesse post rápido vou passar duas funções para vocês uma eu montei a outra peguei na net a um tempo e não me lembro de onde por isso caso vocês verem em outro lugar não estou negando créditos a ninguém só não me lembro de onde peguei haha..

Bom a primeira (minha) pega um valor em reais tipo R$ 10,00 e converte para um numero que o javascript possa manipular em cálculos e etc.. então o resultado final seria 10.00

Detalhe: essa função não realiza nenhuma validação na string enviada apenas converte o valor que estão formatado no padrão brasileiro de moeda para numero

function moedaParaNumero(valor)
{
    return isNaN(valor) == false ? parseFloat(valor) :   parseFloat(valor.replace("R$","").replace(".","").replace(",","."));
}

Exemplo de entradas

var a = moedaParaNumero("R$ 10,00");
var b = moedaParaNumero("R$ 100");
var c = moedaParaNumero("0,50");
var d = moedaParaNumero("1.500,00");
var e = moedaParaNumero("89");

O resultado de a, b, c, d, e e são os seguintes:

10
100
0.5
1500
89

Agora vamos ao inverso, converter um numero no formato de moeda brasileiro, segue a função abaixo.

Detalhe dos parametros
n = numero a converter
c = numero de casas decimais
d = separador decimal
t = separador milhar

function numeroParaMoeda(n, c, d, t)
{
    c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

Exemplo de entradas

var a = numeroParaMoeda(10);
var b = numeroParaMoeda(100);
var c = numeroParaMoeda(0.5);
var d = numeroParaMoeda(1500);
var e = numeroParaMoeda(89);

O resultado de a, b, c, d, e e são os seguintes:

"10,00"
"100,00"
"0,50"
"1.500,00"
"89,00"

é isso ai galera esse foi um post rápido, mais que pode ser muito útil quando precisamos manipular/formatar valores com javascript

Até a proxima!

Autor

fmansano

Desenvolver Web a mais de 5 anos, trabalha como freelancer, e analista de sistemas web, com experiências em varias linguagens de programação web, com o foco em PHP e Javascript/jQuery.

13 comments

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *