Foros del Web » Programando para Internet » Javascript »

Sumar variables sin que se concatenen

Estas en el tema de Sumar variables sin que se concatenen en el foro de Javascript en Foros del Web. Buenas amigos del foro, tengo el siguiente problemilla, espero que me ayuden a solucionarlo: Tengo 2 variables var a: $("#a").get(0).value; var b: $("#b").get(0).value; lo que ...
  #1 (permalink)  
Antiguo 15/01/2012, 07:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Sumar variables sin que se concatenen

Buenas amigos del foro, tengo el siguiente problemilla, espero que me ayuden a solucionarlo:
Tengo 2 variables
var a: $("#a").get(0).value;
var b: $("#b").get(0).value;

lo que quiero es sumar y concatenar un string:

"margin-left": (a+b) + "px"

suponiendo que a: 2 y b:3

debería obtener 5px
pero obtengo 23px

como podría solucionar este inconveniente. Gracias
  #2 (permalink)  
Antiguo 15/01/2012, 07:51
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Sumar variables sin que se concatenen

A ver así:
Código Javascript:
Ver original
  1. var total = $('#a').val() - - $('#b).val();
No te asustes, "- -" no es ningún operador extraño que nunca te contaron, simplemente son dos restas. Una para forzar la conversión a int, y otra para volver a cambiarle el signo. También se puede hacer así:
Código Javascript:
Ver original
  1. var total = +$('#a').val() + +$('#b').val();
Y la manera chachi:
Código Javascript:
Ver original
  1. var total = ['a', 'b'].map(function(id){ return +$('#' + id).val(); }).reduce(function(act, memo){ return memo + act; }, 0);
Vale, es un poco más larga, pero cuando tengas que sumar 5 campos en vez de 2 creo que te será más útil esta forma. O no.
PD: map y reduce son parte de ES5, así que es probable que en muchos navegadores no tengan soporte (léase IE)
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
  #3 (permalink)  
Antiguo 15/01/2012, 08:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Sumar variables sin que se concatenen

Muchas gracias solucione mi problema :)

Etiquetas: variables
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 19:19.