Ir para conteúdo
Fórum Script Brasil
  • 0

inteiro para string


Carlos Rocha

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 0

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&atilde;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 por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

  • 0

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,50

Prontinho ^^

Editado por fiote
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...