Open In App

JavaScript Program to Convert a String to Roman Numerals

In this article, we will see how to convert a string to Roman numerals using JavaScript. Converting a string to Roman numerals in JavaScript is a common task when working with text data containing numeric values in Roman numeral format. Roman numerals are a numeral system used in ancient Rome, and they are still used in various contexts such as numbering book chapters, naming monarchs, or denoting particular years.

These are the following methods to convert a string to Roman numerals using JavaScript:



Using an Array of Values and Symbols

Example: This example shows the implementation of the above-explained approach.




function stringToRoman(num) {
    const values = 
        [1000, 900, 500, 400, 100, 
         90, 50, 40, 10, 9, 5, 4, 1];
    const symbols = 
        ['M', 'CM', 'D', 'CD', 'C'
         'XC', 'L', 'XL', 'X', 'IX'
         'V', 'IV', 'I'];
    let result = '';
  
    for (let i = 0; i < values.length; i++) {
        while (num >= values[i]) {
            result += symbols[i];
            num -= values[i];
        }
    }
  
    return result;
}
  
const input = "2013";
const result = stringToRoman(parseInt(input));
console.log(result);

Output

MMXIII

Using an object

Example: This example shows the implementation of the above-explained approach.




function stringToRoman(num) {
    let roman = {
        M: 1000, CM: 900, D: 500,
        CD: 400, C: 100, XC: 90,
        L: 50, XL: 40, X: 10,
        IX: 9, V: 5, IV: 4, I: 1
    };
    let str = '';
  
    for (let i of Object.keys(roman)) {
        let q = Math.floor(num / roman[i]);
        num -= q * roman[i];
        str += i.repeat(q);
    }
  
    return str;
}
  
console.log(stringToRoman(1234));

Output
MCCXXXIV

Article Tags :