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

Agregar comas, menos al ultimo

Estas en el tema de Agregar comas, menos al ultimo en el foro de ASP Clásico en Foros del Web. Amigos, seguro esto es sencillo para ustedes. Tengo un campo <%=formatNumber(ars.Fields("per"),2)%> Está dentro de un while - wend. Me da como respuesta: 15205640, es decir ...
  #1 (permalink)  
Antiguo 20/01/2011, 12:54
 
Fecha de Ingreso: diciembre-2010
Ubicación: Perú
Mensajes: 14
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Agregar comas, menos al ultimo

Amigos, seguro esto es sencillo para ustedes.
Tengo un campo <%=formatNumber(ars.Fields("per"),2)%>
Está dentro de un while - wend.

Me da como respuesta: 15205640, es decir los datos que contiene el campo "pe" que son 15 20 56 40, etc.... (es un ejemplo, puesto que los extrae del campo "pe"

Necesito que me los presente así: 15,20,56,40
La idea es separar cada registro mediante una "," menos el último registro.

Ojalá me puedan ayudar.

Gracias de antemano
  #2 (permalink)  
Antiguo 20/01/2011, 13:11
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: Agregar comas, menos al ultimo

puedes poner algo asi:
Código ASP:
Ver original
  1. do while not ars.eof
  2.    numero=numero&ars("per")
  3. ars.movenext
  4.   if not ars.eof then numero=numero&","
  5. loop
  #3 (permalink)  
Antiguo 20/01/2011, 13:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar comas, menos al ultimo

también puedes recoger los registros con getRows(), con esto obtienes una matriz de dos dimensiones. esta matriz se la pasas a la función Join()
  #4 (permalink)  
Antiguo 21/01/2011, 10:41
 
Fecha de Ingreso: diciembre-2010
Ubicación: Perú
Mensajes: 14
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Agregar comas, menos al ultimo

IsaBelM y sjam7 gracias por responder. Les cuento que probé con esto:

<% while NOT rsTypeListing.EOF
Dim strText , arrText , intCount
strText = FormatNumber((rsTypeListing.Fields.Item("PER").Val ue), 0, -2, -2, -2)
arrText = Split(strText,",")
For intCount = 0 to UBound(arrText)
Response.Write arrText(intCount) & ","
Next
rsTypeListing.movenext()
Wend %>
Da como resultado: 7,7,2,6,7, separa los valores con ,. Hasta ahí todo bien.
Lo que me falta es que la última coma no aparezca. Cómo hago eso..... Gracias por su ayuda.
  #5 (permalink)  
Antiguo 21/01/2011, 11:03
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: Agregar comas, menos al ultimo

pues a lo mejor con el do while que te puse para que puedas controlar cuando sea el ultimo registro
  #6 (permalink)  
Antiguo 21/01/2011, 11:31
 
Fecha de Ingreso: diciembre-2010
Ubicación: Perú
Mensajes: 14
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Agregar comas, menos al ultimo

Si fuera posible un ejemplo, les agradecería
  #7 (permalink)  
Antiguo 21/01/2011, 12:15
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: Agregar comas, menos al ultimo

pues algo rapido:

inicia=0
hasta=UBound(arrText)

Do while inicia<hasta
if inicia<hasta thenResponse.Write arrText(inicia) & ","
inicia=inicia+1
loop
  #8 (permalink)  
Antiguo 21/01/2011, 15:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Agregar comas, menos al ultimo

que tonta que estoy!! mira que lo escribí y todo. la función array join() solo se puede usar con array de una dimensión.
yo prefiero la función getrows() para así cerrar lo antes posible la conexión
un ejemplo
Cita:
rows = rs.getrows()
rs.Close
set rs = Nothing


for i = 0 to UBound(rows,2)
if i = UBound(rows,2) then
response.write rows(0,i)
else
response.write rows(0,i) & ", "
end if
next

Etiquetas: comas, menos, ultimo
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 15:57.