要求:
将给定的数字转换成罗马数字
用到的方法:
Array.join()
Array.push()
源代码
function convert(num) {
var x;
var result=[];
//处理千位
if(num>=1000){
x=Math.floor(num/1000)
for(var i=0;i<x;i++){
result.push("M");
}
num-=x*1000;
}
//处理百位
if(num>=100){
x=Math.floor(num/100);
if(x>=5){
if(x==9){
result.push("CM");
console.log(x);
}
else{
console.log("1111111");
result.push("D");
for(var i=0;i<(x-5);i++){
result.push("C");
}
}
}
else if(x<4){
for(var i=0;i<x;i++){
result.push("C");
}
}
else if(x==4){
result.push("CD");
}
num-=x*100;
}
//处理十位
if(num>=10){
x=Math.floor(num/10)
if(x>=5){
if(x==9){
result.push("XC");
}
else{
result.push("L");
for(var i=0;i<(x-5);i++){
result.push("X");
}
}
}
else if(x<4){
for(var i=0;i<x;i++){
result.push("X");
}
}
else if(x==4){
result.push("XL");
}
num-=x*10;
}
//处理个位
if(num>=1){
x=num;
if(x>=5){
if(x==9){
result.push("IX");
}
else{
result.push("V");
for(var i=0;i<(x-5);i++){
result.push("I");
}
}
}
else if(x<4){
for(var i=0;i<x;i++){
result.push("I")
}
}
else if(x==4){
result.push("IV");
}
num-=x*10;
}
console.log(result.join(""));
return result.join("");
}
convert(1380);
网友评论