Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const conversions = {
- 0: '', 1: 'I', 2: 'II', 3: 'III', 4: 'IV', 5: 'V',
- 6: 'VI', 7: 'VII', 8: 'VIII', 9: 'IX', 10: 'X',
- 20: 'XX', 30: 'XXX', 40: 'XL', 50: 'L', 60: 'LX',
- 70: 'LXX', 80: 'LXXX', 90: 'XC', 100: 'C', 200: 'CC',
- 300: 'CCC', 400: 'CD', 500: 'D', 600: 'DC', 700: 'DCC',
- 800: 'DCCC', 900: 'CM', 1000: 'M', 2000: 'MM', 3000: 'MMM'
- };
- function convertToRoman(num) {
- const numArray = String(num).split('');
- const len = numArray.length;
- const ones = conversions[Number(numArray[numArray.length - 1])];
- let thousands, hundreds, tens;
- let ans = '';
- switch(len) {
- case 1:
- ans = ones;
- break;
- case 2:
- tens = numArray[0] + '0';
- ans = conversions[Number(tens)] + ones;
- break;
- case 3:
- hundreds = numArray[0] + '00';
- tens = numArray[1] + '0';
- ans = conversions[Number(hundreds)] + conversions[Number(tens)] + ones;
- break;
- case 4:
- thousands = numArray[0] + '000';
- hundreds = numArray[1] + '00';
- tens = numArray[2] + '0';
- ans = conversions[Number(thousands)] + conversions[Number(hundreds)] + conversions[Number(tens)] + ones;
- break;
- default:
- ans = 'Cannot find roman numeral equivelent';
- break;
- }
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement