1. 程式人生 > >JS 實現數字轉羅馬數字

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];
}