function intToRom(num) { var str = num + ""; var len = str.length; num = num * 1; var chf = new Array(); if(!(num < 9000000001 && num > 0)){ alert('Le chiffre arabe doit être entier et inférieur à 9 000 000 001'); return false; }; for(i=len-1;i>=0;i--){ chf[i] = str.charAt(i); if(i == len - 1){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="I"; if(chf[i] == 2) chf[i]="II"; if(chf[i] == 3) chf[i]="III"; if(chf[i] == 4) chf[i]="IV"; if(chf[i] == 5) chf[i]="V"; if(chf[i] == 6) chf[i]="VI"; if(chf[i] == 7) chf[i]="VII"; if(chf[i] == 8) chf[i]="VIII"; if(chf[i] == 9) chf[i]="IX"; }else if(i == len - 2){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="X"; if(chf[i] == 2) chf[i]="XX"; if(chf[i] == 3) chf[i]="XXX"; if(chf[i] == 4) chf[i]="XL"; if(chf[i] == 5) chf[i]="L"; if(chf[i] == 6) chf[i]="LX"; if(chf[i] == 7) chf[i]="LXX"; if(chf[i] == 8) chf[i]="LXXX"; if(chf[i] == 9) chf[i]="XC"; }else if(i == len - 3){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="C"; if(chf[i] == 2) chf[i]="CC"; if(chf[i] == 3) chf[i]="CCC"; if(chf[i] == 4) chf[i]="CD"; if(chf[i] == 5) chf[i]="D"; if(chf[i] == 6) chf[i]="DC"; if(chf[i] == 7) chf[i]="DCC"; if(chf[i] == 8) chf[i]="DCCC"; if(chf[i] == 9) chf[i]="CM"; }else if(i == len - 4){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="M"; if(chf[i] == 2) chf[i]="MM"; if(chf[i] == 3) chf[i]="MMM"; if(chf[i] == 4) chf[i]="MV*"; if(chf[i] == 5) chf[i]="V*"; if(chf[i] == 6) chf[i]="V*M"; if(chf[i] == 7) chf[i]="V*MM"; if(chf[i] == 8) chf[i]="V*MMM"; if(chf[i] == 9) chf[i]="MX*"; }else if(i == len - 5){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="X*"; if(chf[i] == 2) chf[i]="X*X*"; if(chf[i] == 3) chf[i]="X*X*X*"; if(chf[i] == 4) chf[i]="X*L*"; if(chf[i] == 5) chf[i]="L*"; if(chf[i] == 6) chf[i]="L*X*"; if(chf[i] == 7) chf[i]="L*X*X*"; if(chf[i] == 8) chf[i]="L*X*X*X*"; if(chf[i] == 9) chf[i]="X*C*"; }else if(i == len - 6){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="C*"; if(chf[i] == 2) chf[i]="C*C*"; if(chf[i] == 3) chf[i]="C*C*C*"; if(chf[i] == 4) chf[i]="C*D*"; if(chf[i] == 5) chf[i]="D*"; if(chf[i] == 6) chf[i]="D*C*"; if(chf[i] == 7) chf[i]="D*C*C*"; if(chf[i] == 8) chf[i]="D*C*C*C*"; if(chf[i] == 9) chf[i]="C*I**"; }else if(i == len - 7){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="I**"; if(chf[i] == 2) chf[i]="I**I**"; if(chf[i] == 3) chf[i]="I**I**I**"; if(chf[i] == 4) chf[i]="I**V**"; if(chf[i] == 5) chf[i]="V**"; if(chf[i] == 6) chf[i]="V**I**"; if(chf[i] == 7) chf[i]="V**I**I**"; if(chf[i] == 8) chf[i]="V**I**I**I**"; if(chf[i] == 9) chf[i]="I**X**"; }else if(i == len - 8){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="X**"; if(chf[i] == 2) chf[i]="X**X**"; if(chf[i] == 3) chf[i]="X**X**X**"; if(chf[i] == 4) chf[i]="X**L**"; if(chf[i] == 5) chf[i]="L**"; if(chf[i] == 6) chf[i]="L**X**"; if(chf[i] == 7) chf[i]="L**X**X**"; if(chf[i] == 8) chf[i]="L**X**X**X**"; if(chf[i] == 9) chf[i]="X**C**"; }else if(i == len - 9){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="C**"; if(chf[i] == 2) chf[i]="C**C**"; if(chf[i] == 3) chf[i]="C**C**C**"; if(chf[i] == 4) chf[i]="C**D**"; if(chf[i] == 5) chf[i]="D**"; if(chf[i] == 6) chf[i]="D**C**"; if(chf[i] == 7) chf[i]="D**C**C**"; if(chf[i] == 8) chf[i]="D**C**C**C**"; if(chf[i] == 9) chf[i]="C**I***"; }else if(i == len - 10){ if(chf[i] == 0) chf[i]=""; if(chf[i] == 1) chf[i]="I***"; if(chf[i] == 2) chf[i]="I***I***"; if(chf[i] == 3) chf[i]="I***I***I***"; if(chf[i] == 4) chf[i]="I***V***"; if(chf[i] == 5) chf[i]="V***"; if(chf[i] == 6) chf[i]="V***I***"; if(chf[i] == 7) chf[i]="V***I***I***"; if(chf[i] == 8) chf[i]="V***I***I***I***"; if(chf[i] == 9) chf[i]="I***X***"; }; } return(chf.join("")); } function romToInt(rom) { rom += ""; rom = rom.toUpperCase(); for(inc=1;inc<50001;inc++){ if(rom == intToRom(inc)) return inc; } alert('Le chiffre romain doit être compris entre I et L* et sa composition doit êrte correcte'); return false; }