Foros del Web » Programando para Internet » ASP Clásico »

Funciones matematicas que no dan

Estas en el tema de Funciones matematicas que no dan en el foro de ASP Clásico en Foros del Web. Bueno, tengo una pagina en asp en la que tengo que dividir y multiplicar, el codigo es el siguiente: Código: session("la") = request.QueryString("lat")/100 session("lo") = ...
  #1 (permalink)  
Antiguo 31/03/2005, 02:53
 
Fecha de Ingreso: marzo-2004
Mensajes: 27
Antigüedad: 21 años, 1 mes
Puntos: 0
Funciones matematicas que no dan

Bueno, tengo una pagina en asp en la que tengo que dividir y multiplicar, el codigo es el siguiente:

Código:
	session("la") =  request.QueryString("lat")/100
	session("lo") =  request.QueryString("lon")/100
...

if session("dirlatitud")="S"  or session("dirlatitud")="s" then
	   session("la") = session("la")*-1
	end if
		if session("dirlongitud")="W"  or session("dirlongitud")="w" then
	   session("lo") = session("lo")*-1
	end if

OK! Lo que no entiendo es que me funciona en una computadora, pero en otra no!

En la que funciona los calculos son perfectos! En la que no funciona empieza a dar numeros rarisimos.. Me parece raro!!! El codigo es el mismo

PORFAVOR si alguien tiene idea de que puede ser se lo agradezo...

  #2 (permalink)  
Antiguo 31/03/2005, 03:43
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 5 meses
Puntos: 144
Casi mejor que pongas el ejemplo donde te da correctamente, y donde no te funciona (valores del querystring, y valores devueltos en ambas máquinas).

Por cierto, si las matemáticas no fallan, esta línea (y la otra similar):
session("lo") = session("lo")*-1
se puede sustituir por esta:
session("lo") = -session("lo")

Aunque eso nada tenga que ver con el error que te da.
  #3 (permalink)  
Antiguo 31/03/2005, 10:52
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
primero q todo.. mejor pon esto:

if Lcase(session("dirlatitud")) = "s" then
'tu session la convierte en minúsculas para poder hacer la igualdad
y tb otro problema puede ser que a la session la está agarrando como un string y no como un número.... si es un entero, tons has esto:

session("dirlatitud") = Cint(session("dirlatitud")) * (-1)
'asi en los dos...
'pero si es un número con decimales, entonces conviertelo a double
session("dirlatitud") = Cdbl(session("dirlatitud")) * (-1)

espero te sirva... ten más mania en poner tus variables como deben ser para hacer las igualdades y eso.. como decirle q es un string, un integer, un double, un long, etc
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #4 (permalink)  
Antiguo 31/03/2005, 10:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
raro, quizas por el valor de las sesiones y la relacion que tienen con el cliente para ser localizadas en el servidor, la verdad es que nunca he tenido ese problema, tal vez haciendoles un cast antes de realizar las operaciones, ya sea a integer(cint) o a double(cdbl).


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 31/03/2005, 11:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
No es aconsejable tener algo asi:
Código:
	session("la") =  request.QueryString("lat")/100
	session("lo") =  request.QueryString("lon")/100
        if session("dirlatitud")="S"  or session("dirlatitud")="s" then
	   session("la") = session("la")*-1
	end if
	if session("dirlongitud")="W"  or session("dirlongitud")="w" then
	   session("lo") = session("lo")*-1
	end if
sino en su lugar
Código:
        f_lat = request.QueryString("lat")
        f_lon = request.QueryString("lon")
	f_la =  f_lat/100
	f_lo =  f_lon/100
        ...etcetera...
        session("la") = f_la
        session("lo") = f_lo
y si aunado a eso, haces validaciones con IsNUll, IsEmpty, IsNumber (creo que existe en vbscript) y funciones de conversión, en definitiva te será más fácil encontrar los errores.
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 14:36.