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

119
Vistas
¿Cómo afecta la precisión numérica de Javascript a los valores grandes?

Así que tengo un proyecto en el que trato tanto con números realmente pequeños como con números realmente grandes. Esencialmente, tengo un contador que cuenta desde 10 ^ -9 más o menos. Eventualmente, llega a 1 y continúa contando hacia arriba por un factor muy pequeño, pero muy rápido.

Este contador representa una "moneda" en mi proyecto. Entonces, cuando el usuario presiona un botón, si el "costo" asociado con ese botón es más bajo que la moneda, el costo se resta de la moneda del usuario y se le entrega ese artículo. Esto es lo que quiero decir:

 if (currency >= itemCost) { items++ currency = currency - itemCost itemCost = itemCost * 2

Entonces, por ejemplo, al comienzo del juego, un valor de ejemplo de moneda y itemCost sería 0.000000003020 más o menos. Cuando se resta un costo a este nivel, el programa funciona según lo previsto. Sin embargo, cuando paso 1, ~A VECES~, deja de funcionar ya veces no. Aunque a veces seguirá funcionando hasta que se rompa en alguna cantidad arbitraria. En este punto, también llamará a la función anterior si itemCost es mayor que la moneda (al menos según sus etiquetas correspondientes), dejando al usuario con una moneda negativa.

Me pregunto si esto sucede porque el número es demasiado largo para representar tanto los dígitos mayores que 1 como la cadena larga de dígitos decimales, como 2347.23482348982483, por ejemplo. ¿Existe un límite para la cantidad de dígitos que puedo representar con precisión en Javascript? ¿Estaría de acuerdo con redondear el número para decir 6 dígitos decimales después de pasar 1, o necesito buscar módulos que me ayuden con la precisión que necesito?

about 4 years ago · Juan Pablo Isaza
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