Javascript está loco....

fLIPIS
13 de Septiembre del 2003
Hola, amigos/as. Tengo un problema de lo más extraño con el JavaScript. Explico. He creado una función de suma, que muestro a continuacuón.

function Sumar(val1,val2)
{
var tot;
tot = val1 + val2;
return tot;
}


Pero, al llamarla del siguiente modo:

Sumar(4,0);

o lo que le llame, simpre devuelve 40, en vez de 4. Es decir, devuelve el resultado en forma de cadena en vez de como número.

¿Alguien puede ayudarme?

Muchas gracias

fLIPIS (http://www.flipis.net)

sgaido
13 de Septiembre del 2003
Te esta tomando val1 y val2 como variables de tipo caracter y las esta concatenando, una solucion seria la siguiente:

function Sumar(val1,val2)
{
var tot;
tot = val1*1 + val2*1;
return tot;
}


Otra que no he probado pero puedes intentar:

function Sumar(int val1,int val2)
{
var tot;
tot = val1 + val2;
return tot;
}

Pedro S?z Avila
13 de Septiembre del 2003
Otra forma en lugar de multiplicar cada variable sería
function Sumar(val1,val2)
{
var tot;
tot = 1 * (val1+ val2); // o también tot = 0 + (val1+ val2);

return tot;
}