PRINT "MCMXCIX", FNromandecode("MCMXCIX") PRINT "MMXII", FNromandecode("MMXII") PRINT "MDCLXVI", FNromandecode("MDCLXVI") PRINT "MMMDCCCLXXXVIII", FNromandecode("MMMDCCCLXXXVIII") END DEF FNromandecode(roman$) LOCAL i%, j%, p%, n%, r%() DIM r%(7) : r%() = 0,1,5,10,50,100,500,1000 FOR i% = LEN(roman$) TO 1 STEP -1 j% = INSTR("IVXLCDM", MID$(roman$,i%,1)) IF j%=0 ERROR 100, "Invalid character" IF j%>=p% n% += r%(j%) ELSE n% -= r%(j%) p% = j% NEXT = n%