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

124
Visualizações
¿Por qué la adición pierde precisión cuando la asignación directa funciona para el tipo de datos numéricos de Javascript?

Considere un fragmento de código simple:

 let a = 0.1; let b = 0.2; let c = 0.3; let d = a + b; console.log(c.toString()); //0.3 console.log(d.toString()); //0.30000000000000004

La explicación que pude encontrar fue que 0.3 no se puede representar exactamente en un número de coma flotante de doble precisión. Pero si eso es cierto, ¿cómo puede c mantener el valor 0.3 sin perder precisión en caso de asignación directa ?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Ninguno de los dos puede representarse con precisión. Utilice este convertidor para ver lo que está pasando.

Los números de JavaScript se representan como números de 64 bits de doble precisión (IEEE754)

0.3 solo se interpreta como 0x3FD3333333333333 , que es, si calcula a mano:

 .299999999999999988897769753748...

Cuando se muestra como un decimal, se redondea a 0,3. No es que el valor almacenado sea exactamente igual a 0,3 (que se puede mostrar si intenta hacer más cálculos con él), sino que, cuando se muestra, se muestra como 0,3: está más cerca de 3 que del siguiente bit, que está en 2.9999999999999993 .

0.1 + 0.2 está un poco equivocado: el último dígito (en hexadecimal) es 4, no 3 . 0x3FD3333333333334 es:

 .300000000000000044408920985006...

De manera similar, no puede usar 0.300000000000000002 con asignación directa o registro directo, porque eso está entre los dos bits, y el intérprete debe elegir uno u otro:

 console.log(0.30000000000000002);

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