Foros del Web » Programando para Internet » Javascript »

Suma, resultado máximo con dos decimales

Estas en el tema de Suma, resultado máximo con dos decimales en el foro de Javascript en Foros del Web. Estimados Maestros: Con el siguiente código sumo el valor de tres campos provenientes de tres pop-ups, el tema es que los valores que se ingresan ...
  #1 (permalink)  
Antiguo 10/09/2009, 18:42
 
Fecha de Ingreso: julio-2009
Ubicación: En su casa
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Suma, resultado máximo con dos decimales

Estimados Maestros:

Con el siguiente código sumo el valor de tres campos provenientes de tres pop-ups, el tema es que los valores que se ingresan tienen como máximo dos decimales, pero en elgunas ocasiones la suma me da con 15 decimales.

Ejemplo:
Valor 1: 17.4
Valor 2: 8.5
Valor 3: 2.76

Suma: 28.659999999999996

Código
function Sumar() {
var val1;
var val2;
var val3;
val1 = (! Number(document.calculadora.f1_1.value))?0:Number( document.calculadora.f1_1.value);
val2 = (! Number(document.calculadora.f2_1.value))?0:Number( document.calculadora.f2_1.value);
val3 = (! Number(document.calculadora.f3_1.value))?0:Number( document.calculadora.f3_1.value);

document.calculadora.tot.value = val1 + val2 + val3;

}


Con un onClick="Sumar(); obtenemos el resultado en el input tot

El input donde aparace el resultado está así; <input name=tot size=5>

PREGUNTA:
¿Cómo y dónde le hacemos para que el el resultado que me da con 15 decimales quede solo con dos?

Atentamente
Andrés.
  #2 (permalink)  
Antiguo 10/09/2009, 19:12
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 9 meses
Puntos: 1485
Respuesta: Suma, resultado máximo con dos decimales

intentalo con toFixed. lo que tienes que hacer calcular la suma dentro de un parentesis y luego usa el metodo toFixed.
Código:
(calculo).toFixed(2); // devuelve un string con dos numeros decimales;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 10/09/2009, 19:15
Avatar de mfb5  
Fecha de Ingreso: septiembre-2009
Mensajes: 23
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Suma, resultado máximo con dos decimales

Hola nutricionistaonline, lo que yo haría es pasar el resultado a string y luego recortarlo con substring aqui te lo dejo:

Código javascript:
Ver original
  1. var resultado = new String (val1 + val2 + val3);
  2. if(resultado.length>4){
  3.     resultado = resultado.substring(0,5);
  4. }
  5. document.calculadora.tot.value = resultado;

saludos
  #4 (permalink)  
Antiguo 10/09/2009, 19:18
Avatar de mfb5  
Fecha de Ingreso: septiembre-2009
Mensajes: 23
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Suma, resultado máximo con dos decimales

bueno mientras escribía mi mensaje también zerokilled escribía el suyo y su solución es mucho más elegante asi que usa la suya :)
  #5 (permalink)  
Antiguo 10/09/2009, 19:34
 
Fecha de Ingreso: julio-2009
Ubicación: En su casa
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Suma, resultado máximo con dos decimales

GRACIAS!!!!!!!!!!!!!!!!!!!!!!!!!!!
Caso resuelto.
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 21:08.