Sunday, November 17, 2024
Google search engine
HomeLanguagesJavascriptJavaScript Program to Convert a String to Roman Numerals

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
  • Using an object

Using an Array of Values and Symbols

  • In this approach, we are creating two arrays having values in an integer and in a string as a Roman count and one variable for storing the Roman numeral representation.
  • Iterate and check if the current num is greater than or equal to values[i] If true, add symbols[i] to the result and subtract values[i] from num. Repeat until num is no longer greater than or equal to values[i].
  • Return the result as the Roman numeral representation of the input number.

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

Javascript




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

  • Create an object that maps Roman numeral symbols to their decimal values and an empty string to store the Roman numeral representation.
  • Iterate through the Roman numeral symbols in descending order of their decimal values. For each symbol, calculate how many times it fits into the input number and append that symbol to the result string that many times.
  • Subtract the portion of the number converted to Roman numerals from the input. Repeat this process for all symbols. And then return the result string.

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

Javascript




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
Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments