Si tratta di codice di Visual Basic, ma dovrebbe essere abbastanza comprensibile a chiunque.
Note:
Lo slash così \ è la divisione intera (in alcuni linguaggi è diverso).
Public Function Componi_Romano(Ordine As Integer, Valore As Integer) As String
Dim i As Integer
Dim Simbolo(6) As String
Simbolo(0) = "I"
Simbolo(1) = "V"
Simbolo(2) = "X"
Simbolo(3) = "L"
Simbolo(4) = "C"
Simbolo(5) = "D"
Simbolo(6) = "M"
If (Valore Mod 5) = 4 Then
Componi_Romano = Simbolo(Ordine * 2) & Simbolo(Ordine * 2 + (Valore \ 5) + 1)
Else
If Valore > 4 Then Componi_Romano = Simbolo(Ordine * 2 + 1)
For i = 1 To (Valore Mod 5)
Componi_Romano = Componi_Romano & Simbolo(2 * Ordine)
Next i
End If
End Function
Nota: qui si suppone che Numero sia compreso tra 1 e 999
Public Function Trasforma_Romano(Numero As Integer) As String
Dim Cen As Integer
Dim Dec As Integer
Dim Uni As Integer
Cen = Numero \ 100
Dec = (Numero Mod 100) \ 10
Uni = Numero Mod 10
Trasforma_Romano = Componi_Romano(2, Cen) & Componi_Romano(1, Dec) & Componi_Romano(0, Uni)
End Function