如何使用javascript打印带衬垫的文本

时间:2015-01-26 00:09:26

标签: javascript

我有一个javascript代码(取自另一个论坛)将数字转换为罗马数字。但是当涉及5000这样的数字时,我需要打印带有字符的V,因为V是5.如何覆盖我需要的字符?

<html>
    <head> </head>
    <body onload="promptForNumber();">


<script>
    function promptForNumber(text)
{
    if(text == '' ){
     text = "Please enter a number from 1 to 100";   
    }
    var n = parseInt(window.prompt(text, ""));

    toRoman(n);
}

function toRoman(n) {
    var r = '',
        decimals = [9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],
        roman = ['ix', 'viii', 'vii', 'vi', 'v', 'iv', 'MMM', 'MM', 'M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
    for (var i = 0; i < decimals.length; i++) {
        while (n >= decimals[i]) {
            r += roman[i];
            n -= decimals[i];
        }
    }
     document.write(r);
}

</script>

    </body>
</html>

1 个答案:

答案 0 :(得分:0)

在每个字符后使用\u0305进行上线。

i\u0305v\u0305变成了i̅v̅