将给定的数字转换成罗马数字。
所有返回的 罗马数字 都应该是大写形式。
思路:
是将1,10,40,50等等分割数输入到一个数组中,用另一个数组记录相对应的罗马字符。
从最大的数字开始遍历,如果num大于当前数,则减去当前数,继续进入循环。字符串则加上对应的罗马字符。
代码:
<script type="text/javascript">
function convert(num) {
var numArr = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000];
var strArr = ["I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"];
var result = '';
var i = numArr.length;
// console.log(i);
while (i >= 0) {
if (num >= numArr[i]) {
result += strArr[i];
num -= numArr[i];
} else {
i--;
}
}
return result;
}
document.write(convert(1));
</script>
最新评论