Foros del Web » Programando para Internet » Javascript »

Sumar dos variables

Estas en el tema de Sumar dos variables en el foro de Javascript en Foros del Web. Hola, Tengo una variable "global" que vale: var v = -2; Y una función con un parámetro llamado p (siempre llega un numero entero): function ...
  #1 (permalink)  
Antiguo 10/09/2009, 12:05
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años, 9 meses
Puntos: 4
Pregunta Sumar dos variables

Hola,

Tengo una variable "global" que vale:

var v = -2;

Y una función con un parámetro llamado p (siempre llega un numero entero):

function f(p) {}

La función completa es:

function f(p) {
//imaginad que p vale 55
var tmp = p + v;
alert(p);
}

El problema es que devuelve 55-2 en vez de 53, osea que no hace la operación.

Sabéis cómo puedo arreglarlo? Algo como Match.calc() o no sé... ^^

Saludos!!
__________________
JoniJnm.es
  #2 (permalink)  
Antiguo 10/09/2009, 12:22
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: Sumar dos variables

posiblemente es porque el argumento p es un string. un string mas un integer equivale a una concatenacion en lugar de sumar. asegurate de pasar el argumento como integer.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 10/09/2009, 12:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 9 meses
Puntos: 839
Respuesta: Sumar dos variables

Otra opción esa usar parseInt o parseFloat para forzar la conversión a número.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 10/09/2009, 12:41
Avatar de mfb5  
Fecha de Ingreso: septiembre-2009
Mensajes: 23
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Sumar dos variables

Hola JoniJnm si el problema es que toma a p como string y lo que tienes que hacer es pasarlo a entero y lo puedes hacer de esta manera:

Código:
var pInt = Number(p)
es mejor usar Number ya que toma en cosideración mas casos mientras que parseInt necesita recibir un string aunque te sirve para este caso te podría marcar error en otros.

saludos
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:05.