Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Little text functions
#4
Function decimal2roman
Code:
Copy      Help
function'str int'number
;EXAMPLE:
;out
;int i
;for i 1 1501
,;out "%i - %s" i decimal2roman(i)
,
str final
str tempr="M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I"
str tdecimal="1000,900,500,400,100,90,50,40,10,9,5,4,1"
ARRAY(str) sroman sdecimal
tok tempr sroman -1 ","
tok tdecimal sdecimal -1 ","
int inttemp intp i
if(number=0) ret "0"
if(number<0) ret "negative"
rep
,inttemp=number/val(sdecimal[intp])
,
,for i 0 inttemp
,,final+sroman[intp]
,
,number-(inttemp*val(sdecimal[intp]))
,intp+1
,
,if(number<=0) break
ret final


Function roman2decimal
Code:
Copy      Help
function str'a
a.ucase
int number
if(find(a "IV")>=0) number-2
if(find(a "IX")>=0) number-2
if(find(a "XL")>=0) number-20
if(find(a "XC")>=0) number-20
if(find(a "CD")>=0) number-200
if(find(a "CM")>=0) number-200

number+(a.findreplace("M")*1000)
number+(a.findreplace("D")*500)
number+(a.findreplace("C")*100)
number+(a.findreplace("L")*50)
number+(a.findreplace("X")*10)
number+(a.findreplace("V")*5)
number+(a.findreplace("I"))
ret number


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)