Function overview
Prototype
convert.intToRoman (
num )
Parameters
num The number you would like to convert to roman numerals
Description
Tags:
Roman Numerals Number Math Convert Arabic
Non recursive function that converts numbers to roman numerals.
Examples
Sample input
convert.intToRoman( 4166 )
Sample output
MMMMCLXVI
Function code
Let([
_string = RepeatPlus("M";Floor(num / 1000));
num = Mod(num;1000);
_string = _string & RepeatPlus("CM";Floor(num / 900));
num = Mod(num;900);
_string = _string & RepeatPlus("D";Floor(num / 500));
num = Mod(num;500);
_string = _string & RepeatPlus("CD";Floor(num / 400));
num = Mod(num;400);
_string = _string & RepeatPlus("C";Floor(num / 100));
num = Mod(num;100);
_string = _string & RepeatPlus("XC";Floor(num / 90));
num = Mod(num ; 90);
_string = _string & RepeatPlus("L";Floor(num / 50));
num = Mod(num ; 50 );
_string = _string & RepeatPlus("XL";Floor(num / 40 ));
num = Mod(num ; 40 );
_string = _string & RepeatPlus("X";Floor(num / 10 ));
num = Mod(num ; 10 );
_string = _string & RepeatPlus("IX";Floor(num / 9 ));
num = Mod(num ; 9 );
_string = _string & RepeatPlus("V";Floor(num / 5 ));
num = Mod(num ; 5 );
_string = _string & RepeatPlus("IV";Floor(num / 4));
num = Mod(num ; 4 );
_string = _string & RepeatPlus("I";num)
];
_string
)
// ===================================
/*
This function is published on FileMaker Custom Functions
to check for updates and provide feedback and bug reports
please visit http://www.fmfunctions.com/fid/220
Prototype: convert.intToRoman( num )
Function Author: Genx (http://www.fmfunctions.com/mid/29)
Last updated: 04 May 2009
Version: 1
*/
// ===================================
Let([__LITBR__ _string = RepeatPlus("M";Floor(num / 1000));__LITBR__ num = Mod(num;1000);__LITBR__ _string = _string & RepeatPlus("CM";Floor(num / 900));__LITBR__ num = Mod(num;900);__LITBR__ _string = _string & RepeatPlus("D";Floor(num / 500));__LITBR__ num = Mod(num;500);__LITBR__ _string = _string & RepeatPlus("CD";Floor(num / 400));__LITBR__ num = Mod(num;400);__LITBR__ _string = _string & RepeatPlus("C";Floor(num / 100));__LITBR__ num = Mod(num;100);__LITBR__ _string = _string & RepeatPlus("XC";Floor(num / 90));__LITBR__ num = Mod(num ; 90);__LITBR__ _string = _string & RepeatPlus("L";Floor(num / 50));__LITBR__ num = Mod(num ; 50 );__LITBR__ _string = _string & RepeatPlus("XL";Floor(num / 40 ));__LITBR__ num = Mod(num ; 40 );__LITBR__ _string = _string & RepeatPlus("X";Floor(num / 10 ));__LITBR__ num = Mod(num ; 10 );__LITBR__ _string = _string & RepeatPlus("IX";Floor(num / 9 ));__LITBR__ num = Mod(num ; 9 );__LITBR__ _string = _string & RepeatPlus("V";Floor(num / 5 ));__LITBR__ num = Mod(num ; 5 );__LITBR__ _string = _string & RepeatPlus("IV";Floor(num / 4));__LITBR__ num = Mod(num ; 4 );__LITBR__ _string = _string & RepeatPlus("I";num)__LITBR__];__LITBR__ _string__LITBR__)__LITBR____LITBR__// ===================================__LITBR__/*__LITBR____LITBR__ This function is published on FileMaker Custom Functions__LITBR__ to check for updates and provide feedback and bug reports__LITBR__ please visit http://www.fmfunctions.com/fid/220__LITBR____LITBR__ Prototype: convert.intToRoman( num )__LITBR__ Function Author: Genx (http://www.fmfunctions.com/mid/29)__LITBR__ Last updated: 04 May 2009__LITBR__ Version: 1__LITBR____LITBR__*/__LITBR__// ===================================
Login or register to comment
Create a new account with fmcustomfunctions.com or login to post a comment.
Comments
04 May 2009
(just kidding)
Thanks !
04 May 2009