Foros del Web » Programando para Internet » Javascript »

Problema con decimales y multiplicacion por cien

Estas en el tema de Problema con decimales y multiplicacion por cien en el foro de Javascript en Foros del Web. Hola tengo un problema un poco fuerte y espero me puedan ayudar Tengo un valor que es igual a 4.56 y al multiplicarlo por 100 ...
  #1 (permalink)  
Antiguo 19/09/2012, 15:07
Avatar de dani_elmanzanas  
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema con decimales y multiplicacion por cien

Hola tengo un problema un poco fuerte y espero me puedan ayudar

Tengo un valor que es igual a 4.56 y al multiplicarlo por 100 el resultado es 455.99999999999994

Es decir:

4.56*100 = 455.99999999999994

El problema mas grande es cuando hago esto

Código:
valor=4.56
valor=valor*100;
valor=Math.floor(valor);
valor=valor/100;
Esto lo hago en dos FOR anidados para valores en un arreglo de dos dimensiones.
Cuando hago la multiplicacion por cien y luego aplico math.floor me regresa un 455 y al dividirlo entre 100 me devuelte un 4.55 el valor cambia y eso no es bueno.

El problemas es la multiplicacion esa, es raro que pase eso y estoy preocupado por los demas valores del arreglo.
  #2 (permalink)  
Antiguo 19/09/2012, 15:26
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con decimales y multiplicacion por cien

y porque no usas Math.round???
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 19/09/2012, 15:36
Avatar de dani_elmanzanas  
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problema con decimales y multiplicacion por cien

Hola, por que math.round me redondea los decimales por ejemplo

1.89 convierte a 1.9
1.5789 convierte a 1.58

Ademas de otro errores

lo que yo quiero es conservar intactos los dos decimales despues del punto por ejemplo

1.899999 pase 1.89

1.34893493 pase 1.34
  #4 (permalink)  
Antiguo 19/09/2012, 15:46
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema con decimales y multiplicacion por cien

Pero si miras bien el Math.Round se le puede pasar un parametro adicional diciendole hasta que decimal va a redondear

Ejemplo:
Código Javascript:
Ver original
  1. Mouth.round(455.899999,2)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: décimales, multiplicacion
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 11:07.