21 lines
430 B
Text
21 lines
430 B
Text
func rom2dec rom$ .
|
|
symbols$[] = [ "M" "D" "C" "L" "X" "V" "I" ]
|
|
values[] = [ 1000 500 100 50 10 5 1 ]
|
|
val = 0
|
|
for dig$ in strchars rom$
|
|
for i = 1 to len symbols$[]
|
|
if symbols$[i] = dig$
|
|
v = values[i]
|
|
.
|
|
.
|
|
val += v
|
|
if oldv < v
|
|
val -= 2 * oldv
|
|
.
|
|
oldv = v
|
|
.
|
|
return val
|
|
.
|
|
print rom2dec "MCMXC"
|
|
print rom2dec "MMVIII"
|
|
print rom2dec "MDCLXVI"
|