1
resposta

estou tendo um retorno dos dois números 10 e 20 ficando dessa forma "1020"

estou tendo um retorno dos dois números 10 e 20 ficando dessa forma "1020", mais na verdade queria fazer a soma dois tendo como resultado 30, onde será que errei?

<meta charset="UTF-8">
<script>

function pulaLinha() {
    document.write("<br>");
    document.write("<br>");
}

function mostra(frase) {
    document.write(frase);
    pulaLinha();
}

    var numero1 = prompt("Digite o primeiro número");
    var numero2 = prompt("Digite o segundo número");

    mostra("O valor de " + numero1 + " veses " + numero2 + " é: " + (numero1 * numero2));

    mostra("A soma dos valor é:" + (numero1 + numero2));



</script>
1 resposta

Olá, Anderson! Tudo certo?

Peço desculpas pela demora no retorno.

Sempre que usamos o método prompt o nosso retorno será um texto, por isso os valores 10 e 20 estão sendo concatenados.

Porém, você deve ter percebido que para a multiplicação, você obteve o resultado esperado e não uma concatenação.

Isso acontece porque, se no texto houver um número e fizermos uma operação de multiplicação ou divisão, o JavaScript converte o texto para número, e é por isso que a multiplicação funciona.

Mas, quando queremos garantir que o valor digitado no prompt é um número, que é o nosso caso com a adição, iremos usar a função parseInt(), uma função existente no JavaScript, e preparada para receber um texto a ser convertido em número!

Com isso, para resolvermos o problema na adição, você deve escrever o seu código assim:

 var numero1 = parseInt(prompt("Digite o primeiro número"));
    var numero2 = parseInt(prompt("Digite o segundo número"));

    mostra("O valor de " + numero1 + " veses " + numero2 + " é: " + (numero1 * numero2));

    mostra("A soma dos valor é:" + (numero1 + numero2));

Caso tenha ficado com alguma dúvida, não deixe de compartilhar!

Continue praticando e evoluindo na sua jornada.

Bons estudos e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!