Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

308
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!