Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

147
Visualizações
JS - ¿Por qué obtengo un NaN?

Estoy comenzando pequeños proyectos con javascript y no estoy seguro de por qué estoy bloqueado ahora.

Estoy tratando de construir una calculadora con el poco conocimiento que tengo (que es casi nada). Por ahora, estoy tratando de trabajar solo con números enteros. ¡Veré los números flotantes más tarde!

Con mi código, logro mostrar lo que escribo (por ejemplo, para "1 + 5" obtengo "1" y luego "5"), pero cuando presiono el botón "igual", aparece "NaN". Sé que significa Not A Number, y creo que podría estar enfrentando un problema de tipo.

Así que probé en varias partes de mi código algo de "console.log(myVariables)" o hice pruebas con "type of". Creo que logré encontrar en qué punto obtengo un "NaN", pero no puedo resolver el problema.

Aquí está mi código, hasta ahora, con comentarios para que puedas seguir mi lógica. :)

 //here I target my buttons numberOne.addEventListener('click', function() {screen.innerHTML += 1;}); numberTwo.addEventListener('click', function() {screen.innerHTML += 2;}); numberThree.addEventListener('click', function() {screen.innerHTML += 3;}); //... and so on for all different numbers and signs ... //I initialize my variables let firstNumber = ""; let secondNumber = ""; //I create an event for my "plus" and "equal" button plusSign.addEventListener('click', add); equalSign.addEventListener('click', equals); //with this I'm clearing the output screen between two inputs ("firstNumber" and "secondNumber") function clear() { screen.innerHTML = "" ; } //I memorize the HTML value of the output screen in "firstNumber", //I convert it into an integer, //then I clear the output screen function add() { firstNumber = parseInt(screen.innerHTML); clear(); } //I memorize the current value on the screen and convert it into an integer too function equals() { secondNumber = parseInt(screen.innerHTML); screen.innerHTML = firstNumber + secondNumber; }

Ahora, "primerNúmero" y "segundoNúmero" deberían ser números enteros, ¿no?

Traté de "parseInt" en varias partes del código, pero al final parece que el problema sigue siendo el mismo.

Sé que hay muchos ejemplos de código en Internet para un proyecto de este tipo, mucho más sofisticado, pero realmente estaba tratando de pensar por mi cuenta. Tal vez es que he estado haciendo las cosas mal. O tal vez solo necesito dejar de buscar la respuesta y volver a intentarlo mañana con la mente despejada. ^^'

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda