Не съм сигурен че това ще ти свърши работа защото чист VB никога не съм ползвал ако не се брой VBScript и VBA с аксес. Понеже римската бройна система
не е позиционна не може да се направи готино решение според мен. Може би и като изпълнение не е много готино. Първо си го написах на JavaScript а после
го "преразказвах". Сигурно ще се наложи да го променяш за да тръгне под VB.
Успех !
<script type="text/vbscript">
'*********************************************************
' Function to convert an arabic number (aNumber)
' to a roman numeral. aNumber must be between
' 0 and 9999.
' 03.03.2006
'*********************************************************
Function arabianToRoman(aNumber)
Dim r_ones, r_tens, r_hund, r_thou, ones, tens, hund , thou, rnum
r_ones = Array("I","II","III","IV","V","VI","VII", "VIII","IX")
r_tens = Array("X","XX","XXX","XL","L","LX","LXX","LXXX","XC")
r_hund = Array( "C","CC","CCC","CD","D","DC","DCC", "DCCC","CM")
r_thou = Array("M","MM","MMM", "MMMM","MMMMM","MMMMMM","MMMMMMM","MMMMMMMM","MMMMMMMMM")
IF aNumber < 0 OR aNumber > 9999 Then
arabianToRoman = -1
End IF
rnum=""
ones = aNumber Mod 10
tens = (aNumber - ones) Mod 100
hundreds = (aNumber - tens - ones) Mod 1000
thou = (aNumber - hundreds - tens - ones) Mod 10000
tens = tens / 10
hundreds = hundreds / 100
thou = thou / 1000
IF thou > 0 Then
rnum = rnum & r_thou(thou-1)
End IF
IF hundreds > 0 Then
rnum = rnum & r_hund(hundreds-1)
End IF
IF tens > 0 Then
rnum = rnum & r_tens(tens-1)
End IF
IF ones > 0 Then
rnum = rnum & r_ones(ones-1)
End IF
arabianToRoman=rnum
End Function
alert(arabianToRoman(10))
</script>
От неизбежното се възмущава само този, който е неразумен.