ola , gostaria de saber pq o parseInt nao esta convertendo o texto em numero .
obrigado
ola , gostaria de saber pq o parseInt nao esta convertendo o texto em numero .
obrigado
Olá, Carlos, poste o seu código aqui para vermos e tentarmos ajudar. Clique no botão </> e cole o código entre os dois grupos de risquinhos que aparecerá.
parseInt() - converte o valor digitado, que por padrão é lido como texto, para que seja interpretado como um número.
Segue um exemplo abaixo:
<script>
// parseInt() converte o valor digitado, que por padrão é lido como texto, para que seja interpretado como um número
var idade = parseInt(prompt("Idade: ")); // caso não tivesse o parseInt, a variável idade irá receber uma string (texto)
console.log(idade); // retorna a idade digitada pelo usuário
</script>
Carlos, boa tarde.
Caso tenho de ajudado com as suas dúvidas, por favor finalizar o tópico como solucionado.
Um abraço.
Eduardo
Carlos, boa noite.
Por favor finalizar o tópico como solucionado caso tenha te ajudado.
Um abraço. Bons estudos.
Eduardo
Carlos, bom dia.
Por favor finalizar o tópico como solucionado caso tenha te ajudado.
Um abraço. Bons estudos.
Eduardo
Carlos, boa noite.
Caso ainda tenha alguma dúvida registrar aqui.
Por favor finalizar o tópico como solucionado caso tenha te ajudado.
Um abraço. Bons estudos.
Eduardo
Eduardo, deixe de ser inconveniente e deixe que o criador do tópico decida se o mesmo foi solucionado ou não (e quando tbm tiver a disponibilidade para isso). No mais, a sua colaboração e tbm a de todos são muito importantes e bem-vindas.
Vamos observar o código abaixo:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra (frase) {
document.write(frase);
pulaLinha();
}
var vitorias = prompt("Entre com o número de vitórias.");
var empates = prompt("Entre com o número de empates.");
var pontos = vitorias * 3 + empates;
mostra("Os pontos do seu time são: " + pontos);
</script>
Ao rodar esse código, ele será executado mas não vai funcionar como esperado.
Por exemplo, se o time tem 3 vitórias e 1 empate, o programa vai fazer (3x3) + 1 = 10.
Isso é o que se espera mas o programa exibe 91 como resposta.
Isso acontece porque tudo que entra dentro da função prompt é encarado como texto pelo javascript.
O pulo do gato está no fato de que o JS converte um texto para número quando ele está fazendo operação com um número. Ou seja, o JS vai fazer isso aqui:
"texto" + número = número + número,
"texto" x número = número x número
e por aí vai.
Porém, na hora de fazer a concatenação na última linha do código,
o JS não converte mais texto em número. Na última linha do código,
o número 9 continua sendo número, pois já foi convertido. Porém, o número 1 que está guardado na variável 'empates' continuará como texto, pois na concatenação o js não faz conversão de texto em número.
A concatenação de 9(número) com 1(texto) é 91!
Para corrigir isso, é preciso GARANTIR que o que entra pelo prompt será um número e não um texto.
Para fazer esse "truque de mágica", devemos usar a função do próprio JS
chamada parseInt.
Assim sendo, adicionando a função parseInt ao prompt (para converter texto em número) a linha ficaria assim:
var vitorias = parseInt(prompt("Entre com o número de vitórias."));
var empates = parseInt(prompt("Entre com o número de empates."));
Assim, teremos o código funcional:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra (frase) {
document.write(frase);
pulaLinha();
}
var vitorias = parseInt(prompt("Entre com o número de vitórias."));
var empates = parseInt(prompt("Entre com o número de empates."));
var pontos = vitorias * 3 + empates;
mostra("Os pontos do seu time são: " + pontos);
</script>
Bom, foi isso que eu entendi da aula. Espero ter ajudado.