Importante Para Download e Demonstração Acesse
http://battisti.etc.br/projetos/
Saudações
Pessoal ai vão 3 funções bem legais para manipular valores monetários em javascript.
1 – roundNumber
Em php temos a função round cujo objetivo é arredondar valores em um certo número de casas decimais. Já no javascript para definirmos a quantidade de casas decimais temos que usar de artimanhas
.
function roundNumber (rnum) {
return Math.round(rnum*Math.pow(10,2))/Math.pow(10,2);
}
2 – float2moeda
A partir de um valor float ela retorna o valor formatado com separador de milhar e vírgula nos centavos.
function float2moeda(num) {
x = 0;
if(num<0) {
num = Math.abs(num);
x = 1;
}
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'
+num.substring(num.length-(4*i+3));
ret = num + ',' + cents;
if (x == 1) ret = ' - ' + ret;return ret; }
3 – moeda2float
Pega um valor formatado com virgula e separador de milha e o transforma em float
function moeda2float(moeda){
moeda = moeda.replace(".","");
moeda = moeda.replace(",",".");
return parseFloat(moeda);
}
Referência
http://www.truquesedicas.com/tutoriais/javascript/00018a.htm
http://www.mediacollege.com/internet/javascript/number/round.html








Programar é criar soluções simples!!!!!!!
Para formatar um valor cujo separador decimal seja o ponto, basta usar a seguinte função no PHP.
//Exemplo:
$ValorDolar=8125.39;
$ValorReal = number_format($ValorDolar, 2, ‘,’, ‘.’);
echo $ValorReal;
// O resultado será 8.125,39
@Roger
Vlw pela dica cara. Por incrível que pareça estava justamente precisando fazer isso em PHP. =)
Sua solução é simples realmente, mas ela esta em PHP. O objetivo deste script é fazer a formatação e a exibição dos valores apenas em Javascript, isto é necessário por exemplo em carrinhos de compras ou telas de pagamentos que usam Ajax, nestas situações as funções em PHP são de processamento custo.
Devemos tornar a vida dos usuário simples, mesmo que isto nos leve a uma programação mais complicada.
Valeu, foi de grande ajuda.
Tens o meu e-mail, precisando é só pedir.
PHP, AJAX, JavaScript, MySQL
Cara boa materia,
foi de grande ajuda para um projeto que estou participando.
Parabéns e obrigado!!
Bom mesmo, meus parabéns! na verdade eu estava querendo o código pra fazer em PHP mesmo rsrs. Obrigado Roger pela colaboração!! Mas salvei seu código aqui, pq com certeza vou acabar precisando, afinal funciona tanto em JS como em AS sem nenhuma alteração
!
Abraços e parabéns!
Olha realmente esta é a melhor solução que encontrei. Parabéns…
Valeu mesmo… Foi de grande ajuda este script de conversão em javascript…
“Mãos rápidas levam menas chibatadas”…
hehehehhe
valew meu chpa.
Valeu ai!
Ajudou muito estes script para moeda…
Muito bom mesmo!!
Sem palavras!
[]`s
Ola. Obrigado, essa função foi muito util num sistema em Ajax que estou desenvolvendo! Valeuu!
Muito bom script, encaixa perfeitamente no que eu estou procurando, que é formatar a saída de um valor float do ajax.
Tks!
Valeu
Muito bom o script, era justamente o que procurava!
=)
Scripts úteis, obrigado por publica-los com a referência.
abs,
Então Luiz isso que você citou REFERÊNCIAS eu acho de extrema importância que elas apareçam em qualquer publicação por dois motivos:
1 – Na nossa área é muito difícil que alguém tenha aprendido alguma coisa sem ter consultado uma referência ou outro indivíduo de boa vontade tenha ajudado;
2 – Deixar uma trilha de como você obteve aquele conhecimento auxilia outras pessoas a seguir pelo mesmo caminho a fim de também conhecerem mais profundamente o assunto.
Só uma observação esses script foram compilados nesta classe:
http://battisti.wordpress.com/2007/12/03/classe-formatar-moeda-valores-monetarios-em-javascript/
Anselmo.. seu script é excelente… salvou minha vida… ehheheh
abraço
Parabéns Muito bom…
Continue assim.
Abraço
Marcos Cestari
Valeu mais uma vez,
Vou adicionar teu site aqui nos meus favoritos do meu IE 8 beta 2
euahuehaheha
abraço
O IE8 esta para a minha pessoal assim como o alho para vampiros ou balas de prata para lobisomem!
Assim como as versões anteriores do IE.
Estou aprendendo Ajax, e estava googleando atrás dessa função. No PHP até sei fazer, mas eu precisava fazer isso antes do usuário enviar os dados.
Muito obrigado!!
Esse código não funciona pra valores acima de 1 milhão,
eu criei uma pequena solução que serve como complemento a esse código =)
var formata_valor = new Array();
var teste = novo_valor
formata_valor=teste.split(“.”)
valor_formatado=”
for (i=1;i<formata_valor.length;i++)
{
valor_formatado = valor_formatado+formata_valor[i-1];
}
valor_formatado = valor_formatado+”.”+formata_valor[formata_valor.length-1]
parseFloat(valor_formatado);
alert(valor_formatado);
GRANDE CONTRIBUIÇÃO FRANCISCO!!!!!!!!!!!!
Disponha!
É sempre um prazer colaborar com o compartilhamento de informações, afinal, a dificuldade que eu encontrei, pode ser a dificuldade de outras pessoas, do mesmo jeito que este blog me ajudou com a dica sobre como tratar e arredondar os valores, que fique como meu agradecimento esse pequeno e humilde complemento =)
Abs.
Boa cara, parabéns
Boa Francisco, valeu msmo cara, esse codigo q vc postou ai, salvou minha cabeça hj aki no serviço…:D
Valeu! Muito boa!
Para o que eu precisava foi perfeita.
Obrigado e Saudacoes…
Muito obrigado .. essa função me quebrou um grande galho . melhor ,,, uma arvore inteira .. tks
estamos ai