Código :
function Roman(N:Number):String {
if (N>3999) {
return "Error!";
}
var a:Array = new Array("I", "V", "X", "L", "C", "D", "M");
var st:String = N.toString();
l = st.length;
var rm:String = "";
for (i=0; i<l; i++) {
ud = st.substr((l-1)-i, 1);
if (ud<4) {
for (j=0; j<ud; j++) {
rm = a[i*2]+rm;
}
} else if (ud == 4) {
rm = a[i*2]+a[(i*2)+1]+rm;
} else if (ud<9) {
for (j=0; j<ud-5; j++) {
rm = a[i*2]+rm;
}
rm = a[(i*2)+1]+rm;
} else if (ud == 9) {
rm = a[i*2]+a[(i*2)+2]+rm;
}
}
return rm;
}
trace(Roman(1337));
