mirror of
https://github.com/danbulant/heaventaker
synced 2026-06-17 21:51:24 +00:00
19 lines
No EOL
581 B
JavaScript
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;
|
|
} |