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

Operaciones con numeros

Estas en el tema de Operaciones con numeros en el foro de ASP Clásico en Foros del Web. Set rsprecio=db.execute("select precio from productos where idproducto=" & idproducto) 'Los precios estan en la bd con una coma para los decimales 'Con el replace cambio ...
  #1 (permalink)  
Antiguo 30/09/2004, 01:59
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Operaciones con numeros

Set rsprecio=db.execute("select precio from productos where idproducto=" & idproducto)

'Los precios estan en la bd con una coma para los decimales
'Con el replace cambio esa coma por un punto.


precioactual=(Replace(rsprecio("precio"),",","."))

(Supongamos que el valor que trae de la base de datos es 9,02 y con el replace anterior se convierte en 9.02)

total: <%=precioactual * 2%>


totalforzado <%=9.02 * 2%>


¿Por que si el precio es el mismo en ambos casos en el primero obtengo 1804 (le falta la coma) y con el segundo 18,04?
:-p
¿Que tendria que modificar en el primero para que el resultado fuese igual al segundo?
  #2 (permalink)  
Antiguo 30/09/2004, 04:35
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
A traves de VarType he visto de que tipo de datos es el valor de precioactual:
<% =VarType(precioactual) %>
El resultado es 8 por lo que mirando en la tabla inferior veo que es un string, creo que lo debo de convertir a otro tipo de datos para que realice la operacion correctamente, pero no se exactamente como hacerlo.



¿Por que precio es un string?
¿Es por que he hecho precioactual=Replace(rsprecio("precio"),",",".")?


VBEmpty 0 Uninitialized
VBNull 1 Contains no valid data
VBInteger 2 Integer subtype
VBLong 3 Long subtype
VBSingle 4 Single subtype
VBDouble 5 Double subtype
VBCurrency 6 Currency subtype
VBDate 7 Date subtype
VBString 8 String subtype
VBObject 9 Object
VBError 10 Error subtype
VBBoolean 11 Boolean subtype
VBVariant 12 Variant (only use for arrays of variants)
VBDataObject 13 Data access object
VBDecimal 14 Decimal subtype
VBByte 17 Byte subtype
VBArray 8192 Array

A ver si se os ocurre algo, gracias por adelantado

Última edición por sqa212; 30/09/2004 a las 05:01
  #3 (permalink)  
Antiguo 30/09/2004, 10:22
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Bueno lo solucione, aunque no se si es una chapuza lo que he echo y hay alguna otra forma mas idonea de hacerlo.
Lo que he echo es recoger el valor de rsprecio("precio") en otra variable distinta antes de usar el Replace(rsprecio("precio"),",",".").
Si se os ocurre algo mejor, gracias
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 05:13.