function doNf(num, left, right) {
            var neg = num < 0;
            var n = neg ? num.toString().substring(1) : num.toString();
            var decimalInd = n.indexOf('.');
            var intPart = decimalInd !== -1 ? n.substring(0, decimalInd) : n;
            var decPart = decimalInd !== -1 ? n.substring(decimalInd + 1) : '';
            var str = neg ? '-' : '';
            if (typeof right !== 'undefined') {
              var decimal = '';
              if (decimalInd !== -1 || right - decPart.length > 0) {
                decimal = '.';
              }
              if (decPart.length > right) {
                decPart = decPart.substring(0, right);
              }
              for (var i = 0; i < left - intPart.length; i++) {
                str += '0';
              }
              str += intPart;
              str += decimal;
              str += decPart;
              for (var j = 0; j < right - decPart.length; j++) {
                str += '0';
              }
              return str;
            } else {
              for (var k = 0; k < Math.max(left - intPart.length, 0); k++) {
                str += '0';
              }
              str += n;
              return str;
            }
          }
@method nf
@param {Array}        nums     the Numbers to format
@param {Integer|String}      [left]
@param {Integer|String}      [right]
@return {String[]}                formatted Strings