Autor Tema: Alinear numeros a la derecha  (Leído 3446 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Alinear numeros a la derecha
« en: Febrero 15, 2013, 01:48:23 pm »
Tengo este codigo que alinea los numero de hacia la derecha pero al llegar a mas de 1.000.000 ("un millon") me tira un Error 5 en tiempo de ejecucion.
Llamada a procedimiento o argumento no válido

CODIGO

Código: (VB) [Seleccionar]
Function AlignRight(NData, CFormat) As String
 
    If NData > 0 Then
     
        AlignRight = Format(NData, CFormat)
        AlignRight = Space(Len(CFormat) - Len(AlignRight)) + AlignRight
     
    Else
     
        AlignRight = Format(NData, CFormat)
        AlignRight = Space(Len(CFormat) - 1) + "0"
     
    End If
 
End Function

Código: (VB) [Seleccionar]
Private Sub Command1_Click()
   
    Me.Print AlignRight("10", "##,###0")
    Me.Print AlignRight("100", "##,###0")
    Me.Print AlignRight("1000", "##,###0")
    Me.Print AlignRight("10000", "##,###0")
    Me.Print AlignRight("100000", "##,###0")
    Me.Print AlignRight("1000000", "##,###0")
       
End Sub

EJEMPLO
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

FrankLizardo

  • Kilobyte
  • **
  • Mensajes: 65
  • Reputación: +7/-1
    • Ver Perfil
Re:Alinear numeros a la derecha
« Respuesta #1 en: Febrero 15, 2013, 10:00:21 pm »
Bueno la Solucion es que pongas mas #

Me.Print AlignRight("1000000", "#######,###0")

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Alinear numeros a la derecha
« Respuesta #2 en: Febrero 16, 2013, 11:08:10 am »
Gracias amigo, me sirvio.

También hice este método mas resumido.

Código: (VB) [Seleccionar]
Public Function xRight(xNumero) As String
    xRight = Format(Format(xNumero, "##,###0"), "@@@@@@@@@@@@@@")
End Function

Código: (VB) [Seleccionar]
Private Sub Form_Load()
    Me.Print xRight(10000000000)       
End Sub

No se cual conviene mas usar pero esta funcionando muy bien para lo que quiero.


Saludos...
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo