美文网首页
FCC 题目 Roman Numeral Converter

FCC 题目 Roman Numeral Converter

作者: a1838b5b5d28 | 来源:发表于2017-05-21 16:11 被阅读528次

要求:

将给定的数字转换成罗马数字

用到的方法:

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);

相关文章

网友评论

      本文标题:FCC 题目 Roman Numeral Converter

      本文链接:https://www.haomeiwen.com/subject/xqfvxxtx.html