Convertir números romanos a árabes

Es muy fácil de utilizar, le pasas la cadena con el número en árabe y te devuelve el número, necesitas las dos funciones que tienes a continuación.

Function ConvertirArabe(Romano As String) As Integer
     Dim Numero As Integer, Valor1 As Integer, Valor2 As Integer, Cadena As String
     If Len(Romano) = 0 Then ConvertirArabe = 0: Exit Function
     Cadena = Trim(Romano)
     Numero = 0
     Do
          Valor1 = VerValor(left(Cadena, 1))
          Cadena = Right$(Cadena, Len(Cadena) - 1)
          Valor2 = VerValor(left(Cadena, 1))
          If Valor1 >= Valor2 Then
               Numero = Numero + Valor1
          Else
               Numero = Numero - Valor1
          End If
     Loop Until Len(Cadena) = 0
     ConvertirArabe = Numero
End Function

Function VerValor(Simbolo As String) As Integer
     Select Case Simbolo
          Case "I"
               VerValor = 1
          Case "V"
               VerValor = 5
          Case "X"
               VerValor = 10
          Case "L"
               VerValor = 50
          Case "C"
               VerValor = 100
          Case "D"
               VerValor = 500
          Case "M"
               VerValor = 1000
          Case "Q"
               VerValor = 5000
          Case "H"
               VerValor = 10000
     End Select
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