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

Problemas con operaciones aritmeticas

Estas en el tema de Problemas con operaciones aritmeticas en el foro de ASP Clásico en Foros del Web. Buenos días. Tengo un gran problema con los valores decimales a la hora de hacer una multiplicación. Tengo una aplicación donde mediante un textbox introduzco ...
  #1 (permalink)  
Antiguo 23/01/2008, 08:34
 
Fecha de Ingreso: enero-2006
Mensajes: 21
Antigüedad: 18 años, 4 meses
Puntos: 0
Problemas con operaciones aritmeticas

Buenos días.

Tengo un gran problema con los valores decimales a la hora de hacer una multiplicación.

Tengo una aplicación donde mediante un textbox introduzco una cantidad el cual me acepta como decimal la coma, una vez procesada la información debo multiplicar esta cantidad por el precio que lo obtengo en la base de datos. Es importante destacar que luego de ser leidas las cantidades las almaceno en un arreglo (ya que se muestra una lista de productos, y se pueden comprar varios a la vez). Y lo meto en un carrito de compras, el cual luego debo mostrar y alli es donde tengo el error

Este es el código
subtotal = session("precio"&i) * session("cantidad"&i)

El problema es que si cantidad viene decimal por ejemplo 1,3 al multiplicarla por el precio (ejmp 100) no toma en cuenta la coma por lo que hace la siguiente operacion:
13 *100 = 1300 cuando el valor real sería 130.

he probado con Cint,Cdbl,clng etc y no he podido solucionar.

Alguna sugerencia?
Gracias de antemano
  #2 (permalink)  
Antiguo 23/01/2008, 10:33
 
Fecha de Ingreso: mayo-2006
Ubicación: Bilbo
Mensajes: 76
Antigüedad: 18 años
Puntos: 0
Re: Problemas con operaciones aritmeticas

Has probado a poner los decimales separados por punto en lugar de coma?
Yo acabo de tener problemas tambien con las operaciones numericas cuando utilizaba decimales y una de las cosas que he visto es que si le pasaba un valor decimal separado por comas no me hacia la operacion (en mi caso era una suma).
Tenia que separar los decimales con un punto.

No se si esto puede ser la soluciona tu problema, o seguramente ya lo has probado. pero si no merece la pena probar...

Y para operar con el valor que viene de base de datos, en caso de que sea decimal, tienes q convertirlo primero utilizando cdbl. Si es un int no da problemas.
  #3 (permalink)  
Antiguo 23/01/2008, 11:01
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Problemas con operaciones aritmeticas


intenta esto:

Cita:
precio=replace(session("precio"&i),",",".")
subtotal = precio * cint(session("cantidad"&i))
funcionara....???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #4 (permalink)  
Antiguo 23/01/2008, 12:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Problemas con operaciones aritmeticas

Dos recomendaciones:

1. Siempre que realices operaciones aritméticas, haz primero un cast al tipo de dato correspondiente, en este caso tus valores tienen que ser dobles pues manejas decimales.
2. Verifica que el LCID sea el correcto

Código:
subtotal = (cdbl(session("precio"&i)) * cdbl(session("cantidad"&i)))
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 00:03.