heaventaker/src/utils.js
Daniel Bulant ff37f5b6f9 main menu
2021-06-09 18:18:57 +02:00

19 lines
No EOL
581 B
JavaScript

/**
* Converts given number to string roman numeral
* @param {number} num
* @returns {string}
*/
export function toRoman(num) {
if (isNaN(num))
return NaN;
var digits = String(+num).split(""),
key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","I","II","III","IV","V","VI","VII","VIII","IX"],
roman = "",
i = 3;
while (i--)
roman = (key[+digits.pop() + (i * 10)] || "") + roman;
return Array(+digits.join("") + 1).join("M") + roman;
}