lamchau
4/26/2015 - 7:46 AM

number-pad.js

function pad(n, count) {
  // http://stackoverflow.com/a/15398371
  var length = (Math.log(Math.abs(n + 1)) * 0.43429448190325176 | 0) + 1;
  
  count = Math.max(count - length, 0);
  if (n < 10) {
    return n;
  }

  // http://stackoverflow.com/a/5450113
  var result = '';
  var pattern = '0';
  while (count > 1) {
    if (count & 1) {
      result += pattern;
    }
    count >>= 1;
    pattern += pattern;
  }
  return result + pattern + n;
}