Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

276
Vistas
¿Por qué el número de mi calculadora Vanilla JS cambia en el dígito 17?

Es una calculadora básica hecha por el canal de youtube Web Dev Simplified. Hizo un tutorial de YouTube sobre él, lo seguí y básicamente hice lo mismo.

Tanto su calculadora de ejemplo como la mía tienen el mismo problema, donde si presiono cualquiera de los botones numéricos (por ejemplo, '1') 17 veces o más, los números ingresados después del dígito 16 se muestran como un número diferente por alguna razón (17 dígito se convierte en '2' y no en '1').

Lo hace con cualquier número ingresado. no entiendo porque

Adjunté un enlace de codepen para que pueda ver tanto su código como la salida del código.

Encontrará la salida de la pantalla en esta parte del código HTML:

 <div class="output"> <div data-previous-operand class="previous-operand"></div> <div data-current-operand class="current-operand"></div> </div>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

es porque su número ha terminado que el entero agrega console.log() en la función getDisplayNumber y compara el registro y los datos de visualización

en el registro, parece 1.1111111111111111e+21 cuando está fuera del rango

¿Cuál es el valor entero más alto de JavaScript al que puede ir un número sin perder precisión?

 getDisplayNumber(number) { const stringNumber = number.toString() const integerDigits = parseFloat(stringNumber.split('.')[0]) const decimalDigits = stringNumber.split('.')[1] console.log(integerDigits) let integerDisplay if (isNaN(integerDigits)) { integerDisplay = '' } else { integerDisplay = integerDigits.toLocaleString('en', { maximumFractionDigits: 0 }) } if (decimalDigits != null) { return `${integerDisplay}.${decimalDigits}` } else { return integerDisplay } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda