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

307
Vistas
por qué 0.3 + 0 == 0.3 y 0.1 + 0 == 0.1 en javascript cuando 0.3 y 0.1 no se pueden representar exactamente en binario

Primera pregunta: en java script si lo hacemos.

 0.2 + 0.1 =>0.30000000000000004

Debido a que 0.2, 0.1 se redondean a un número diferente y también la suma se redondea a un número diferente. Este artículo explica el detrás de escena . Entiendo esto, pero cuando lo hago.

 0.3 + 0 =>0.3

Muestra 0.3 ¿por qué? 0.3 no se puede representar exactamente en binario a la derecha y debe redondearse a un número diferente, ¿verdad?
por lo que el valor de 0,3 + 0 debe ser el número redondeado de 0,3 y la suma si es necesario?.

Segunda pregunta:
cuando lo hacemos

 let x = 0.3

Como 0.3 no se puede representar exactamente en binario, se redondea a otro número, pero cuando accede a la variable x, ¿por qué muestra 0.3 pero no el número real redondeado?

 x =>0.3

Pero cuando lo haces.

 0.2 + 0.1 =>0.30000000000000004

Muestra el número real redondeado pero no 0.3. Explique amablemente.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El valor que obtiene cuando agrega 0.1 y 0.2 y el valor que obtiene del literal 0.3 son valores diferentes (ninguno de los cuales es exactamente 3/10, ambos están muy cerca). (Agregar 0 no importa, no cambia el valor del número al que se suma). El que obtienes de 0.1 + 0.2 es apenas más de 3/10; el que obtienes de 0.3 (si no recuerdo mal) es un poco menos de 3/10.

Al convertir un número de coma flotante en texto, JavaScript sigue la práctica común de incluir solo tantos dígitos como sea necesario para diferenciarlo del siguiente valor más cercano que el formato puede representar (detalles en la especificación y en el documento académico las referencias de la especificación ). 0.3 no necesita dígitos adicionales para esa diferenciación, pero 0.30000000000000004 sí (supongo que para diferenciarlo de 0.3 , pero en realidad no lo sé).

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