Roman numerals/Decode: Difference between revisions
Content added Content deleted
(Roman numerals/Decode en True BASIC) |
(Roman numerals/Decode en QBasic) |
||
Line 5,462: | Line 5,462: | ||
MMXVIII -> 2018 |
MMXVIII -> 2018 |
||
MMZZIII -> (Contains unknown character)</pre> |
MMZZIII -> (Contains unknown character)</pre> |
||
=={{header|QBasic}}== |
|||
<lang QBasic>FUNCTION romToDec (roman$) |
|||
num = 0 |
|||
prenum = 0 |
|||
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 i |
|||
romToDec = num |
|||
END FUNCTION |
|||
!Testing |
|||
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</lang> |
|||
=={{header|Quackery}}== |
=={{header|Quackery}}== |