Sei sulla pagina 1di 1

Public Function RomanNumber(ByVal

Number As UShort) As
String

Algorithm to convert an integer to a roman number


Works for values 1 and above
Example: RomanNumber(12) = "XII"
Visustin sample algorithm
©2006 Aivosto Oy (www.aivosto.com)

Dim Roman As String = ""

Number > 0 ?

No Yes

Return Roman Select Case Number

End Is >= 1000 ?

No

Yes
Is >= 900 ?

Roman &= "M"


Number -= 1000 No

Yes

Is >= 500 ?

Roman &= "CM"


Number -= 900 No

Yes

Is >= 400 ?

Roman &= "D"


Number -= 500 No

Yes

Is >= 100 ?

Roman &= "CD"


Number -= 400 No

Yes

Is >= 90 ?

Yes
Roman &= "C"
Number -= 100 No

Is >= 50 ?

Roman &= "XC"


Number -= 90 No

Yes

Is >= 40 ?

Yes
Roman &= "L"
Number -= 50 No

Is >= 10 ?

Roman &= "XL"


Number -= 40 No

Yes

9?

Roman &= "X"


Number -= 10 Yes No

5 To 8 ?

Roman &= "IX"


Number -= 9 No

Yes

4?

Roman &= "V"


Number -= 5 Yes No

1 To 3 ?

Roman &= "IV"


Number -= 4 Yes

Roman &= "I"


Number -= 1
Else

Potrebbero piacerti anche