25 lines
634 B
Plaintext
25 lines
634 B
Plaintext
print "MCMXCIX = "; romToDec( "MCMXCIX") '1999
|
|
print "MDCLXVI = "; romToDec( "MDCLXVI") '1666
|
|
print "XXV = "; romToDec( "XXV") '25
|
|
print "CMLIV = "; romToDec( "CMLIV") '954
|
|
print "MMXI = "; romToDec( "MMXI") '2011
|
|
|
|
function romToDec(roman$)
|
|
for i = len(roman$) to 1 step -1
|
|
x$ = mid$(roman$, i, 1)
|
|
n = 0
|
|
if x$ = "M" then n = 1000
|
|
if x$ = "D" then n = 500
|
|
if x$ = "C" then n = 100
|
|
if x$ = "L" then n = 50
|
|
if x$ = "X" then n = 10
|
|
if x$ = "V" then n = 5
|
|
if x$ = "I" then n = 1
|
|
|
|
if n < preNum then num = num - n else num = num + n
|
|
preNum = n
|
|
next
|
|
|
|
romToDec =num
|
|
end function
|