RosettaCodeData/Task/Roman-numerals-Decode/Phix/roman-numerals-decode.phix
2016-12-05 23:44:36 +01:00

13 lines
314 B
Text

constant romans = "MDCLXVI",
decmls = {1000,500,100,50,10,5,1}
function romanDec(string s)
integer n, prev = 0, res = 0
for i=length(s) to 1 by -1 do
n = decmls[find(s[i],romans)]
if n<prev then n = 0-n end if
res += n
prev = n
end for
return res
end function