阿拉伯数字与罗马数字转换
罗马数字表示
XXI, 21
个位数举例
I, 1 】II, 2】 III, 3】 IV, 4 】V, 5 】VI, 6】 VII, 7】 VIII,8 】IX, 9
·十位数举例
X, 10】 XI, 11 】XII, 12】 XIII, 13】 XIV, 14】 XV, 15 】XVI, 16 】XVII, 17
】XVIII, 18】 XIX, 19】 XX, 20】 XXI, 21 】XXII, 22 】XXIX, 29】 XXX, 30】
XXXIV, 34】 XXXV, 35 】XXXIX, 39】 XL, 40】 L, 50 】LI, 51】 LV, 55】 LX, 60】
LXV, 65】 LXXX, 80】 XC, 90 】XCIII, 93】 XCV, 95 】XCVIII, 98】 XCIX, 99 】
·百位数举例
C, 100】 CC, 200 】CCC, 300 】CD, 400】 D, 500 】DC,600 】DCC, 700】 DCCC, 800 】CM, 900】 CMXCIX,999】
·千位数举例
M,
1000】 MC, 1100 】MCD, 1400 】MD, 1500 】MDC, 1600 】MDCLXVI, 1666】
MDCCCLXXXVIII, 1888 】MDCCCXCIX, 1899 】MCM, 1900 】MCMLXXVI, 1976】
MCMLXXXIV, 1984】 MCMXC, 1990 】MM, 2000 】MMMCMXCIX, 3999】
·千位数以上举例
-----
CLXXX DCL, 183650】
====== -----
CXXXIV CMXLV DLXXXIV, 134945584】
js代码
function convert(num) { var ans = ""; var k = Math.floor(num / 1000); var h = Math.floor((num % 1000) / 100); var t = Math.floor((num % 100) / 10); var o = num % 10; var one = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; var ten = ['X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']; var hundred = ['C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'] var thousand = 'M'; for (var i = 0; i < k; i++) { ans += thousand; } if (h) ans += hundred[h - 1]; if (t) ans += ten[t - 1]; if (o) ans += one[o - 1]; return ans; }