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

var IDADE2 = "20"; o resultado é 34004

meta charset="UTF-8">

porque o resultado é 34004 ?

podem me explicar o racional ?

10 respostas

Ei Sergio, se puder depois cola o codigo aqui pra gente analisar e ver o que tá acontecendo!

João segue:

Boa tarde Sergio.

Seu código não está aparecendo.

Sergio, pro seu código aparecer precisa usar o botão </> e colar o seu codigo entre as aspas. Esse botão

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeAi você colocar dentro dessas aspas que vão aparecer Insira aqui a descrição dessa imagem para ajudar na acessibilidade

<meta charset="UTF-8">
<script>
    var IDADE1 = 10;
    var IDADE2 = "20";
    var IDADE3 = 12;

    document.write("A média das idades é <br>");
    document.write( (IDADE1 + IDADE2 + IDADE3) / 3);
</script>

Agora deu certo! O problema ai Sérgio é que a var = IDADE2 está recebendo "20", e quando um número está entre aspas ele vai ser lido como um texto e não como um número. Ai ao invés de somar ele apenas faz a concatenação, que é a junção dos termos.

<meta charset="UTF-8">
<script>
    var IDADE1 = 10;
    var IDADE2 = "20";
    var IDADE3 = 12;

    document.write("A média das idades é <br>");

        // Aqui é como se o programa fizesse 102012 e dividisse por 3
    document.write( (IDADE1 + IDADE2 + IDADE3) / 3);
</script>

Pra corrigir é só tirar as aspas do 20 na var IDADE2, que o programa vai ler como número e realizar a operação corretamente. No mais o código está certinho! Parabéns e bons estudos! Qualquer coisa estamos ai!

Olá Sérgio, tudo bem?

Com uma das idades é uma string a soma das idades dentro dos parênteses vai concatenar os valores e não somar.

(IDADE1 + IDADE2 + IDADE3) -> resultado "102012"

Isso porque o sinal de + serve tanto para somar como para concatenar.

Depois, na divisão, o programa entende por debaixo dos panos que "102012" / 3 só pode resultar em um número, já que não há operação com esse operador de divisão em strings. Daí o resultado 34004 , que é justamente a divisão acima.

Bons estudos!

João Pedro Escamilha De Azevedo, obrigado pela resposta.

Eu na verdade quero entender que numero ele está atribuindo a esta variavel IDADE2 para gerar este numero doido. Que as aspas do 20 estão causando esta doideira eu sei. Mas mesmo assim muito obrigado !!!

solução!

Então Sergio.

Como as " " estão transformando variavel IDADE2 em um string, assim elas são concatenadas, gerando o valor total de "102012" onde será divida por 3 gerando o valor 34004.

Esse valor "102012" são os valores que foi atribuidos nas variaves IDADE1, IDADE2 e IDADE3.

Agora compreendi !!!! obrigado