Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Matriz Fuera de intervalo

Estas en el tema de Matriz Fuera de intervalo en el foro de Visual Basic clásico en Foros del Web. Estimados colegas... tengo el siguiente problema: 'ASIGNO UN VALOR paso5_d2 = Format(paso5_d2, "##,##0.00") Dim paso5_5_d2() As String 'SEPARO DECIMAL DEL ENTERO If Val(paso5_d2) - Int(Val(paso5_d2)) ...
  #1 (permalink)  
Antiguo 16/02/2013, 10:07
 
Fecha de Ingreso: abril-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 1
Matriz Fuera de intervalo

Estimados colegas...
tengo el siguiente problema:


'ASIGNO UN VALOR
paso5_d2 = Format(paso5_d2, "##,##0.00")

Dim paso5_5_d2() As String

'SEPARO DECIMAL DEL ENTERO

If Val(paso5_d2) - Int(Val(paso5_d2)) <> 0 Then

paso5_5_d2 = Split(paso5_d2, ".")

Else
paso5_5_d2(1) = "0"
End If

hasta aca funciona el tema es que recorro mediante un bucle y si pasa que el primer valor extraído es un entero me da un error de fuera de intervalo, ahora si el segundo en adelante entero (o sea que el primero que tomo es decimal) no hay problema...

Alguien sabe porque ???

Desde ya muchas gracias !!!!!
  #2 (permalink)  
Antiguo 18/02/2013, 12:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Matriz Fuera de intervalo

Hola,

en qué punto defines el valor (2) del array? Vamos... si entras por el ELSE no veo cómo alimentas el tercer valor del array para luego poderlo recorrer...

Saludos.
  #3 (permalink)  
Antiguo 18/02/2013, 19:41
 
Fecha de Ingreso: abril-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 1
Respuesta: Matriz Fuera de intervalo

Hola ComprasDesdeCasa... gracias por responder.

Mira lo solucione de esta forma:
Código:
    paso5_d2 = Format(paso5_d2, "##,##0.00"
    
    Dim paso5_5_d2() As String   

    paso5_5_d2 = Split(paso5_d2, ".")
    
    If Val(paso5_d2) - Int(Val(paso5_d2)) <> 0 Then
        paso5_5_d2 = Split(paso5_d2, ".")
    
    Else
        ReDim paso5_5_d2(0 To 1)
        paso5_5_d2(0) = Str(Int(paso5_d2))
        paso5_5_d2(1) = "0"
    End If
  #4 (permalink)  
Antiguo 19/02/2013, 14:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Matriz Fuera de intervalo

Perfecto.
Otra forma de solucionarlo, para no estar haciendo ReDim, sería definiendo ya el array como:
Código vb:
Ver original
  1. Dim paso5_5_d2(1) As String

ya que, por lo que veo, sólo tendrás la parte entera y la parte decimal.

Saludos.
  #5 (permalink)  
Antiguo 19/02/2013, 16:49
 
Fecha de Ingreso: abril-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 1
Respuesta: Matriz Fuera de intervalo

Perfecto colega.... asi es

Muchas gracias por el aporte.

Saludos

Etiquetas: fuera, intervalo, matriz
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:27.