Skip to content

Instantly share code, notes, and snippets.

@semeano
Created March 12, 2020 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save semeano/337998e1171965fa456830bfbb99727a to your computer and use it in GitHub Desktop.
Save semeano/337998e1171965fa456830bfbb99727a to your computer and use it in GitHub Desktop.
[JavaScript] Convert an integer to roman numeral
function integerToRomanNumeral(n) {
let roman = {
1: "I",
2: "II",
3: "III",
4: "IV",
5: "V",
6: "VI",
7: "VII",
8: "VIII",
9: "IX",
10: "X",
20: "XX",
30: "XXX",
40: "XL",
50: "L",
60: "LX",
70: "LXX",
80: "LXXX",
90: "XC",
100: "C",
200: "CC",
300: "CCC",
400: "CD",
500: "D",
600: "DC",
700: "DCC",
800: "DCCC",
900: "CM",
1000: "M"
}
let result = ""
let r = n
for (let [key, value] of Object.entries(roman).sort((a,b) => b[0]-a[0])) {
if (r%key != r) {
let m = parseInt(r/key)
for (let i=0; i<m; i++) {
result += roman[key]
}
}
r = r%key
}
return result
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment