Foros del Web » Programando para Internet » Javascript »

Resultados erróneos JavaScript

Estas en el tema de Resultados erróneos JavaScript en el foro de Javascript en Foros del Web. Hola a todos, estoy haciendo una calculadora en javascript, pero si hago 2.01-2 el resultado que sale es 0.00999999999999979. También me pasa lo mismo en ...
  #1 (permalink)  
Antiguo 10/09/2010, 05:49
zant95
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Resultados erróneos JavaScript

Hola a todos, estoy haciendo una calculadora en javascript, pero si hago 2.01-2 el resultado que sale es 0.00999999999999979.

También me pasa lo mismo en Perl y Python.

¿A qué se debe esto? ¿Y cómo se puede corregir?

Saludos.

EDITO: He estado buscando y he descubierto que es el error de punto flotante, al parecer muy común, pero lo he solucionado con esto:

Código Javascript:
Ver original
  1. function compute(form) {
  2.   floating_point = eval(form.display.value)
  3.   form.display.value = Math.round(floating_point * Math.pow(10,6))/Math.pow(10,6)
  4. }

Última edición por zant95; 10/09/2010 a las 06:37 Razón: Solucionado
  #2 (permalink)  
Antiguo 10/09/2010, 09:55
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Resultados erróneos JavaScript

Solamente es un error si no entendés qué es lo que hay detrás. Lee algo sobre el estándar IEE 754 de punto flotante si realmente te interesa.
La solución que encontraste es válida.

Saludos.

Etiquetas: resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:34.