Foros del Web » Programando para Internet » Javascript »

Problema Suma

Estas en el tema de Problema Suma en el foro de Javascript en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var memoria ; function mmas ( memo ) { memoria = document. getElementById ( "resultado" ) . value ...
  #1 (permalink)  
Antiguo 29/01/2011, 11:53
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema Suma

Código Javascript:
Ver original
  1. var memoria;
  2. function mmas(memo){
  3. memoria=document.getElementById("resultado").value+memoria;
  4. }

¿Porque me lo concatena en vez de sumarlo? Si por ejemplo en memoria tengo almacenado 5, al hacer eso si le sumo un valor como por ejemplo 2, me muestra 25 en vez de 7 x_x

Ttambien probe poniendo +parseFloat(memoria); y sigue sin funcionar.

¿Alguien conoce alguna solucion para esto? Muchas gracias de antemano!

Última edición por link_alcala06; 29/01/2011 a las 13:07
  #2 (permalink)  
Antiguo 29/01/2011, 13:43
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 8 meses
Puntos: 37
Respuesta: Problema Suma

tienes que parsearlo antes de sumar,no despues.

var memoria=0;

function mmas(memo){

memoria+=parseFloat(document.getElementById("resul tado").value);

}

Saludos.
  #3 (permalink)  
Antiguo 29/01/2011, 14:55
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Problema Suma

Cita:
Iniciado por goteen_mx Ver Mensaje
tienes que parsearlo antes de sumar,no despues.

var memoria=0;

function mmas(memo){

memoria+=parseFloat(document.getElementById("resul tado").value);

}

Saludos.
Gracias, era eso mismo que tonto no haberme dado cuenta x_x





Por cierto, me surgio un nuevo problemilla con una funcion que utilizo para borrar caracteres, la cual es la siguiente:

Código Javascript:
Ver original
  1. function del(n){
  2.     var numero=document.getElementById("resultado");
  3.     numero.value.length>0;
  4.     numero.value=numero.value.substring(1);
  5. }

Consigo borrar el numero pero lo hace empezando por la derecha en vez de por la izquierda que es como deberia ser, borrando el ultimo introducido, alguna forma de solventar este error? Gracias de antemano!
  #4 (permalink)  
Antiguo 29/01/2011, 15:08
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Problema Suma

Cita:
Iniciado por link_alcala06 Ver Mensaje
Código Javascript:
Ver original
  1. function del(n){
  2.     var numero=document.getElementById("resultado");
  3.     numero.value.length>0;
  4.     numero.value=numero.value.substring(1);
  5. }
Creo que lo que quieres usar es un if, porque "numero.value.length>0;" no tiene ninguna utilidad por sí mismo. La función devuelve el valor del campo quitando la primera letra, porque substring empieza desde la izquierda. Si lo que quieres es borrar la última letra, puedes usar esto:
Código Javascript:
Ver original
  1. numero.value=numero.value.substring(0,numero.value.length-1);
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 29/01/2011, 15:10
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Problema Suma

el parámetro length ha de ser negativo (-1)
  #6 (permalink)  
Antiguo 29/01/2011, 19:39
 
Fecha de Ingreso: enero-2011
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema Suma

Cita:
Iniciado por _cronos2 Ver Mensaje
Creo que lo que quieres usar es un if, porque "numero.value.length>0;" no tiene ninguna utilidad por sí mismo. La función devuelve el valor del campo quitando la primera letra, porque substring empieza desde la izquierda. Si lo que quieres es borrar la última letra, puedes usar esto:
Código Javascript:
Ver original
  1. numero.value=numero.value.substring(0,numero.value.length-1);
Saludos (:
Sip, era asi! Mil gracias! =)


Cita:
Iniciado por IsaBelM Ver Mensaje
el parámetro length ha de ser negativo (-1)
No lo sabia, gracias por el dato =)

Etiquetas: suma
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 23:24.