UNPKG

lib-into-roman

Version:

Esta biblioteca se destina à conversão de algarismos romanos para arábicos (e vice-versa) para uso em aplicações web

36 lines (31 loc) 942 B
const numberRom = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]; const numberCard = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]; const intoToRoman = (number) => { let result = ""; for (let num in numberCard) { while (number >= numberCard[num]) { result += numberRom[num]; number -= numberCard[num]; } } if (result === "") { return "Número não válido"; } else { return result; } }; const isLetter = (letter) => typeof letter === "string"; const romanToInt = (letter) => { let result = 0; for (let rom in numberRom) { while (isLetter(letter) && letter.indexOf(numberRom[rom]) === 0) { result += numberCard[rom]; letter = letter.replace(numberRom[rom], ""); } } if (result === 0) { return "Número não válido"; } else { return result; } }; module.exports.romanToInt = romanToInt; module.exports.intoToRoman = intoToRoman;