Foros del Web » Programando para Internet » Javascript »

Problema con decimales de la clase Number

Estas en el tema de Problema con decimales de la clase Number en el foro de Javascript en Foros del Web. Hola a tod@s tengo un pequeño problema y es el siguiente. Tengo dos cajas de texto en una jsp y mediante javascript convierto su contenido ...
  #1 (permalink)  
Antiguo 04/06/2009, 04:23
 
Fecha de Ingreso: noviembre-2006
Mensajes: 45
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema con decimales de la clase Number

Hola a tod@s tengo un pequeño problema y es el siguiente.

Tengo dos cajas de texto en una jsp y mediante javascript convierto su contenido a Number y los sumo hasta aquí todo bien el problema es que a veces el numero de decimales se m dispara.

Por ejemplo:
sumo 100.22 + 121.33 y el resultado seria pues 221.55 pero me saca 221.54999999999995 y deberia de ser 221.55. hay alguna forma de solucionar este desajuste de decimales¿?

Gracias.
  #2 (permalink)  
Antiguo 04/06/2009, 06:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con decimales de la clase Number

No debería dar todos esos decimales, de todos modos, puedes redondear usando Math.round().
Código Javascript:
Ver original
  1. numero = Math.round(numero * 100) / 100;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/06/2009, 07:42
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: Problema con decimales de la clase Number

Podrias utilizar la funcion toFixed que recibe como parametro el numero de decimales
Código:
alert(resultado.toFixed(2));
Pero no se si esto resolvera tu problema y en lugar de mostrar 221.55 (que es lo que quieres) te muestre 221.54 (solo truncando el resultado)
  #4 (permalink)  
Antiguo 05/06/2009, 00:12
 
Fecha de Ingreso: noviembre-2006
Mensajes: 45
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Problema con decimales de la clase Number

ya pero el tema es que en el caso de que se metan mas decimales pues que se muestren todos, no quiero forzar el numero de decimales solo a dos por ejemplo, si metes una suma con 7 decimales cada operando pues que la suma salga con 7 decimales
  #5 (permalink)  
Antiguo 05/06/2009, 06:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con decimales de la clase Number

¿Podrías mostrar el código que estás usando? Ya que haciendo esto:
Código javascript:
Ver original
  1. alert(100.22 + 121.33);
Muestra correctamente: 221.55
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 17:37.