Carlos Rocha Postado Abril 26, 2012 Denunciar Share Postado Abril 26, 2012 como faço para transformar uma variavel int para string e já colocar ela com duas casas decimais?Trata-se de valor em dinheiro.Gostaria ainda de pegar o valor e separar em milhares centenas e dezenas.Tipo; 1.230.320,00.Como fazer isso/? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Abril 27, 2012 Autor Denunciar Share Postado Abril 27, 2012 (editado) Pessoal.Ainda não consegui.Seguinte;Tenho essa função que calcula o montante para pagamento de um pedido de lanche:// JavaScript Document function CalculaPreco(array) { var preço = new Array(); for (i=0;i<array.length-1;i++) { if (array[i].value=""){array[i].value=0;} } preço=array[0].value*1.80; preço+=array[1].value*1.50; preço+=array[2].value*2.00; preço+=array[3].value*0.95; preço+=array[4].value*25.00; preço+=array[5].value*3.00; preço+=array[6].value*22.00; preço+=array[7].value*50.00; document.getElementById('total').innerHTML=preço.toString(); } Essa função recebe um array por parametro. Esse array, é um campo texto onde se coloca uma quantidade de ítens para cada tipo de lanche escolhido. Então, o name desse campo é quant: <tr> <td>Hossomaki</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> <td></td> <td>Saschimi Salmão</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> </tr> <tr> <td>Niguri</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> <td></td> <td>Saschimi Kani</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> </tr> <tr> <td>Frango Xadrez</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> <td></td> <td>Rolinho Primavera</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> </tr> <tr> <td>Frango Agridoce</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> <td></td> <td>BulGoGui</td> <td class="qtd"><input type="text" name="quant" size="3" value="" /></td> </tr>No final, ela entrega o valor para calculado para um label. Do tipo 1.234,45.Mas tudo que tento não da certo. Editado Abril 27, 2012 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fiote Postado Abril 27, 2012 Denunciar Share Postado Abril 27, 2012 (editado) Carlos,<script> var txt = '1.230.320,00'; var pts1 = txt.split(','); var antesVirgula = pts1[0]; var centavos = pts1[1]; var pts2 = antesVirgula.split('.'); var reais = pts2.pop(); var milhares = pts2.pop(); var milhoes = pts2.pop(); var bilhoes = pts2.pop(); var trilhoes = pts2.pop(); // continue dando "pop" para numeros ainda maiores var txt = ''; txt += 'trilhoes: '+trilhoes+'\n'; txt += 'bilhoes: '+bilhoes+'\n'; txt += 'milhoes: '+milhoes+'\n'; txt += 'milhares: '+milhares+'\n'; txt += 'reais: '+reais+'\n'; txt += 'centavos: '+centavos+'\n'; alert(txt); </script> :) .... EDIT ... Ops, o que você quer é o contrário lol. Procurando por money mask javascript no google, o segundo resultado (porque o primeiro é sobre jQuery e eu não gosto :P) apresenta o código abaixo: Number.prototype.formatMoney = function(c, d, t){ var n = this, 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) : ""); }; Uma alteração no prototype que dá a todos os números um novo método chamado formatMoney. var total = 1230320.5; alert(total.formatMoney()); // vai alertar 1.230.320,50Prontinho ^^ Editado Abril 27, 2012 por fiote Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carlos Rocha
como faço para transformar uma variavel int para string e já colocar ela com duas casas decimais?
Trata-se de valor em dinheiro.
Gostaria ainda de pegar o valor e separar em milhares centenas e dezenas.
Tipo; 1.230.320,00.
Como fazer isso/?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.