zoukankan      html  css  js  c++  java
  • javascript-数字转罗马数字

    阿拉伯数字与罗马数字转换

    罗马数字表示

    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;
    }

    代码转载自https://www.cnblogs.com/angle-qqs/p/8245626.html

  • 相关阅读:
    Codeforces 937D
    Codeforces 458C
    Codeforces 934D
    Codeforces 934C
    Codeforces 36B
    Codeforces 374C
    Codeforces 374D
    编译优化
    Codeforces E
    Codeforces 920G
  • 原文地址:https://www.cnblogs.com/wwjchina/p/9488427.html
Copyright © 2011-2022 走看看