JS 实现数字转罗马数字

JS 实现数字转罗马数字

JS 实现数字转罗马数字,最近楼主在写w3c的算法挑战,现在到这个转换实现这里了,所以想着写个博客,看看自己的实现方法和大家的有什么出入的,还望大家多多指教,附上源代码

function convert(num) {
    if(num > 3999 || num < 0){
        return "超出计算范围!";
    }
    var strNum = num + "";
    var result ="";
    for(var i = 0; i < strNum.length;i++){
        var data = strNum.charAt(i);
        if(data == "0"){
            continue;
        }
        result+= getLuoma(parseInt(data) - 1,strNum.length - i - 1);
    } 
    
 return result;
}
function getLuoma(num,pos){
    var gearr = ["I","II","III","IV","V","VI","VII","VIII","IX"];
    var shiarr = ["X","XX","XXX","XL","L","LX","LXX","LXXX","XC"];
    var baiarr = ["C","CC","CCC","CD","D","DC","DCC","DCCC","CM"];
    var qianarr = ["M","MM","MMM"];
    
    var data = [];
    data.push(gearr,shiarr,baiarr,qianarr);
     
    
    return  data[pos][num];
}

猜你喜欢

转载自blog.csdn.net/weixin_41392105/article/details/84892950