Convertir números árabes a romanos

Es muy fácil de utilizar, solo tienes que enviar el número y te devuelve la cadena convertida en romano.

Function ConvertirRomano(Numero As Integer) As String
     Dim Romano As String
     Dim I As Integer, Digito As Integer, x As Integer
     Dim Cadena As String, CadenaTmp As String
     Dim Simbolo1 As String * 1, Simbolo2 As String * 1, Simbolo3 As String * 1

     Cadena = CStr(Numero)
     For x = 1 To Len(Cadena)
          If Len(Cadena) = 4 Then
               Simbolo1 = "M"
               Simbolo2 = "Q"
               Simbolo3 = "H"
               Digito = CInt(left$(Cadena, 1))
               Cadena = Right$(Cadena, 3)
          ElseIf Len(Cadena) = 3 Then
               Simbolo1 = "C"
               Simbolo2 = "D"
               Simbolo3 = "M"
               Digito = CInt(left$(Cadena, 1))
               Cadena = Right$(Cadena, 2)
          ElseIf Len(Cadena) = 2 Then
               Simbolo1 = "X"
               Simbolo2 = "L"
               Simbolo3 = "C"
               Digito = CInt(left$(Cadena, 1))
               Cadena = Right$(Cadena, 1)
          ElseIf Len(Cadena) = 1 Then
               Simbolo1 = "I"
               Simbolo2 = "V"
               Simbolo3 = "X"
               Digito = CInt(left$(Cadena, 1))
               Cadena = ""
          End If
          If Digito <= 3 Then
               For I = 1 To Digito
                    CadenaTmp = CadenaTmp & Simbolo1
               Next I
          ElseIf Digito < 5 Then
               CadenaTmp = Simbolo1 & Simbolo2
          ElseIf Digito = 5 Then
               CadenaTmp = Simbolo2
          ElseIf Digito <= 8 Then
               CadenaTmp = Simbolo2
               For I = 1 To Digito - 5
                    CadenaTmp = CadenaTmp & Simbolo1
               Next I
          ElseIf Digito = 9 Then
               CadenaTmp = Simbolo1 & Simbolo3
          End If
          Romano = Romano & CadenaTmp
          CadenaTmp = ""
     Next x
     ConvertirRomano = Romano
End Function
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s