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

Como sumar valores de un arreglo que tienen decimales???

Estas en el tema de Como sumar valores de un arreglo que tienen decimales??? en el foro de ASP Clásico en Foros del Web. **perdon compañeros, jamas se me hubiera ocurrido que en la tabla estaba la solucion, tenia campo text, cuando debio ser numerico. el problema radica en ...
  #1 (permalink)  
Antiguo 08/03/2007, 14:49
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
Pregunta Como sumar valores de un arreglo que tienen decimales???

**perdon compañeros, jamas se me hubiera ocurrido que en la tabla estaba la solucion, tenia campo text, cuando debio ser numerico.

el problema radica en que al hacer mi consulta
los datos los guardo en un Arreglo, entonces, cuando realizo la suma

matriz(i)=matriz(i)+RS("dinero").value
los toma como strings y hace lo siguiente:

campo1 2000
campo2 1500
campo3 450.54

y al realizar la sumatoria me da este resultado
20001500450.54

bueno... ahora mirando los post, encontre en alguno de todos los que mire, INT()
entonces, hice lo siguiente:

matriz(i)=int(matriz(i))+RS("dinero").value
** y la solucion era CDbl

el detalle ahora surje que cuando realizo la sumatoria, el valor que tenga decimales, los quita y esos decimales los convierte a enteros donde:
**la opcion INT, la convertian en numero, donde el punto era eliminado, por eso me desplegaba el
450.54 = 45054

logicamente, la sumatoria es incorrecta, puesto que daria como resultado:

48554

alguna observacion????

**la respuesta mas obvia, es la mas dificil de encontrar**

*en la busqueda en el foro, no sale algo similar, entonces... POSTEE el asunto
** Error propio, Una disculpa al foro

Última edición por Shiryu_Libra; 08/03/2007 a las 15:13 Razón: ERROR PROPIO
  #2 (permalink)  
Antiguo 08/03/2007, 19:21
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Como sumar valores de un arreglo que tienen decimales???

A ver si puedo ayudar... soy bastante novato en esto, pero lo voy a intentar.

Yo tuve un problema parecido, y lo solucioné en Access, no en el código ASP. En la base de datos, al campo que quieres que tenga decimales hay que ponerle formato numérico, del tipo "simple". Si se pone como entero o como entero largo no te guarda los decimales.

A lo mejor no tiene nada que ver, pero míralo por si acaso.

Saludos.

Moleman.
  #3 (permalink)  
Antiguo 08/03/2007, 19:24
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: Como sumar valores de un arreglo que tienen decimales???

buena aportacion amigo, gracias por el comentario, lo implementare para hecharlo a volar.
  #4 (permalink)  
Antiguo 08/03/2007, 20:30
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: Como sumar valores de un arreglo que tienen decimales???

sigue el error compañeros, podrian evaluar?

ya cambie el INT(), por CDBL()

la tabla, el campo ya no es texto, ahora es NUMERO, simple, con la aportacion de Moleman, pero al realizar el recorrido para las sumas, que es el que citado anteriormente, sopas!!, que me salen numeros que no son....???
  #5 (permalink)  
Antiguo 08/03/2007, 21:45
 
Fecha de Ingreso: octubre-2005
Mensajes: 5
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como sumar valores de un arreglo que tienen decimales???

Facil

formatnumber(variable("campo1"),2) + formatnumber(variable("campo2"),2)
  #6 (permalink)  
Antiguo 08/03/2007, 22:29
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: Como sumar valores de un arreglo que tienen decimales???

pitman3, no se si lo estoy evaluando bien, alguna observacion??


Error de Microsoft VBScript en tiempo de ejecución error '800a000d'
No coinciden los tipos: 'formatnumber'
/Gestion/Gestion.asp, line 276

Código:
if RS.EoF=FALSE THEN
    while RS.EOF=FALSE

'** COMO LO TENIA ANTES DE LAS CORRECCIONES:neurotico

'   matriz4(ol)=int(matriz4(ol))+RS("importe").value
'** EL NUEVO METODO:arriba:

    matriz4(ol)=formatnumber(matriz4(ol),2) + formatnumber(RS("importe").value,2)
'**LA QUE PENSE QUE ME SALVARIA DE ROMPERME LA CABEZA:si:

'   matriz4(ol)=CDbl(matriz4(ol))+RS("importe").value
    RS.movenext
wend
como ven compañeros, que opinan?

+++++++++
Sigo analizando esta funcion....
mire que en la anterior puse el mismo formatnumber, sobre el campo de la tabla, y por eso marcaba error, uno menos, pero....

if RS.EoF=FALSE THEN
while RS.EOF=FALSE
matriz4(ol)=formatnumber(matriz4(ol),2)+RS("import e").value
RS.movenext
wend
else
matriz4(ol)=0
End if

ahora no me despliega resultado alguno

# Matriculas Abonado Pagar Deudor
1 5816175 0 10000 10000
2 5816232 0 10000 10000
3 5816250 0 10000 10000

es ironico esto, un poco frustrante e incomprensible, pero pues los errores mas sencillos, apenas entre varios lo detectan

Última edición por Shiryu_Libra; 08/03/2007 a las 23:00 Razón: modificacion de la sentencia
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 17:57.