Bueno, pues me aburría enormemente en clase e hice esta función que convierte números decimales en romanos. Me gustaría que le echaran un ojo, a ver cómo se puede mejorar..

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