roman numerals encoder javascript code example

Example 1: convert roman numeral to number javascript

function roman_to_Int(str1) {
if(str1 == null) return -1;
var num = char_to_int(str1.charAt(0));
var pre, curr;

for(var i = 1; i < str1.length; i++){
curr = char_to_int(str1.charAt(i));
pre = char_to_int(str1.charAt(i-1));
if(curr <= pre){
num += curr;
} else {
num = num - pre*2 + curr;
}
}

return num;
}

function char_to_int(c){
switch (c){
case 'I': return 1;
case 'V': return 5;
case 'X': return 10;
case 'L': return 50;
case 'C': return 100;
case 'D': return 500;
case 'M': return 1000;
default: return -1;
}
}
console.log(roman_to_Int('XXVI'));
console.log(roman_to_Int('CI'));

Example 2: convert roman numeral to number javascript

class Solution {
public:
    int romanNumber(char n)
    {
        switch (n)
        {
        case 'I':
                return (1);
        case 'V':
                return (5);
        case 'X':
                return (10);
        case 'L':
                return (50);
        case 'C':
                return (100);
        case 'D':
                return (500);
        case 'M':
                return (1000);
        default:
            return (0);
            
        }
        return (0);
    }
    int romanToInt(string s) 
    {
        int len = s.size();
        int ans = romanNumber(s[0]);
        for(int i=1;i<len;i++)
        {
            int prev = romanNumber(s[i-1]);
            int current = romanNumber(s[i]);
            if(prev>=current)
            {
                ans += current;
            }
            else
            {
                ans -= prev;
                current -= prev;
                ans += current; 
            }
        }
        return ans;
    }
};