meta data for this page
  •  

F_ROMAN2ARABIC

function from adhoc

Entrypoint roman2arabic


Inputs/Outputs

   Input      CSTRING(50)     number in Roman system as a string (upper or lower)
   Output     INTEGER         integer in Arabic decimal system

Syntax

   Classic form also shorten forms are allowed, f.e. 1999:
   classic        MCMXCIX
   shorten 1    MXMIX                   
   shorten 2    MIM
   Also the original Roman form is allowed, f.e. 1984:
   original       MDCCCCLXXXIIII
   classic        MCMLXXXIV

Allowed also in roman nor allowed forms, f.e. 1900: correct MCM thousend + (thousend - one hundred) normaly wrong MDCD thousend + five hundred + (five hundred - one hundred) If there is a not roman digit, f.e. MCA, returns -1 If you don't respect the rule, that in subtraction form only one digit in front is allowed (IX allowed, IIX not allowed), returns bullshit. Great thousend numbers like 10000 are returned correct if you put in MMMMMMMMMM. Maximum is 250 thousend. TestSQL SELECT 1984 AS ISCORRECT, F_ROMAN2ARABIC('MCMLXXXIV') FROM RDB$DATABASE; SELECT NULL AS ISCORRECT, F_ROMAN2ARABIC(NULL) FROM RDB$DATABASE;