Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Alguém me ajuda? Conversão

Na linha do total do jantar o JS faz uma concatenação e não uma soma das variáveis. Como faço para converter as variáveis em números?


<meta charset="utf=8">

<br>
<h3> Simplificando... mas complicando!</h3> 
<script>

function pulalinha() {

    document.write("<br>");

    }

function  texto(mostratexto) {

    document.write(mostratexto);
    pulalinha()

    }

 var custoJantar = prompt("Digite o valor do jantar ");    // acho que o problema é que, embora receba um valor, na verdade isso é uma string.
 var percGorj = prompt("Digite o percentual da gorjeta? ");    // idem
 var calculoGorj = Math.trunc(custoJantar * percGorj)/100

 texto("O jantar custou R$ " + custoJantar + " e a gorjeta é de " + percGorj + "%.");
 texto("Então, o garçom deve receber R$ " + calculoGorj + ".");
 texto("O tolal a pagar é de R$ " + (custoJantar + calculoGorj) + "."); // o JS tá concatenando :(

 </script>
4 respostas
solução!

Olá Luciana isto acontece pois o JS sempre converte para texto as variáveis quando vai "juntar" com outros textos.

Você pode converter o valor das variáveis para float usando a função parseFloat por exemplo.

 texto("O tolal a pagar é de R$ " + (parseFloat(custoJantar) + parseFloat(calculoGorj)) + "."); // o JS tá concatenando :(

Valeu Marcos!

;)

Imagina..

Quando testar se der certo não esquece de marcar como a solução. :D

Opa! Desulpe.

Deu certo :D