19 lines
514 B
JavaScript
19 lines
514 B
JavaScript
var roman = {
|
|
map: [
|
|
1000, 'M', 900, 'CM', 500, 'D', 400, 'CD', 100, 'C', 90, 'XC',
|
|
50, 'L', 40, 'XL', 10, 'X', 9, 'IX', 5, 'V', 4, 'IV', 1, 'I',
|
|
],
|
|
int_to_roman: function(n) {
|
|
var value = '';
|
|
for (var idx = 0; n > 0 && idx < this.map.length; idx += 2) {
|
|
while (n >= this.map[idx]) {
|
|
value += this.map[idx + 1];
|
|
n -= this.map[idx];
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
}
|
|
|
|
roman.int_to_roman(1999); // "MCMXCIX"
|