2015-01-26 1 views
0

숫자를 로마 숫자로 변환하는 자바 스크립트 코드 (다른 포럼에서 가져옴)가 있습니다. 그러나 5000과 같은 숫자의 경우 V가 5이므로 겹쳐진 V를 인쇄해야합니다. 필자는 필요한 문자를 어떻게 겹쳐 쓸 수 있습니까?자바 스크립트를 사용하여 겹쳐서 표시된 텍스트를 인쇄하는 방법

<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> 
+0

감사합니다. – user3415893

답변

0

각 문자를 겹쳐 쓰고 난 후에 \u0305을 사용하십시오.

i\u0305v\u0305은 i & # x0305; v & # x0305;

+0

고마워요.) 불쌍한 질문을 드려 죄송합니다. 꼭 사용해야 할 모든 글꼴을 사용할 수 있습니까? – user3415893

관련 문제