meta charset="UTF-8">
porque o resultado é 34004 ?
podem me explicar o racional ?
meta charset="UTF-8">
porque o resultado é 34004 ?
podem me explicar o racional ?
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
Ai você colocar dentro dessas aspas que vão aparecer
<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 !!!
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