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>
감사합니다. – user3415893