code: function(dec) {
  
        var g;
        var N = this["n"];
        var D = this["d"];
  
        if (isNaN(N) || isNaN(D)) {
          return "NaN";
        }
  
        if (!Fraction['REDUCE']) {
          g = gcd(N, D);
          N /= g;
          D /= g;
        }
  
        dec = dec || 15; // 15 = decimal places when no repitation
  
        var cycLen = cycleLen(N, D); // Cycle length
        var cycOff = cycleStart(N, D, cycLen); // Cycle start
  
        var str = this['s'] === -1 ? "-" : "";
  
        str += N / D | 0;
  
        N %= D;
        N *= 10;
  
        if (N)
          str += ".";
  
        if (cycLen) {
  
          for (var i = cycOff; i--; ) {
            str += N / D | 0;
            N %= D;
            N *= 10;
          }
          str += "(";
          for (var i = cycLen; i--; ) {
            str += N / D | 0;
            N %= D;
            N *= 10;
          }
          str += ")";
        } else {
          for (var i = dec; N && i--; ) {
            str += N / D | 0;
            N %= D;
            N *= 10;
          }
        }
        return str;
      }
docs: Creates a string representation of a fraction with all digits
  
  Ex: new Fraction("100.'91823'").toString() => "100.(91823)"