1

我在网上搜索过,解决方案一定很简单,没有人问过吗?我只是想使用+ i +返回 001、002、003 等的索引

4

3 回答 3

2

怎么样

('000' + i).substr(-3);
于 2012-04-23T23:39:59.063 回答
1

所以像这样的东西?

function number_pad(num,len) {
    num = ""+num;
    while(num.length < len) num = "0"+num;
    return num;
}
// Usage: number_pad(i,3);

或者,扩展本机对象:

Number.prototype.pad(len) {
    var num = ""+this;
    while(num.length < len) num = "0"+num;
    return num;
}
// Usage: i.pad(3);

为了将来参考,这称为 zerofill 或 zero-padding。

于 2012-04-23T23:38:13.217 回答
1
function paddedNumber(n) {
  // A string containing the fully padded zero value.
  var zeroes = "000";
  // The number as a string.
  var numstr = "" + n;
  var nDigits = numstr.length;
  // Keep any sign at the front.
  var sign = "";
  if (/^[\+\-]/.test(numstr)) {
    sign = numstr.charAt(0);
    numstr = numstr.substring(1);
  }
  // Concatenates the number with just enough zeroes.
  // No padding if itoa is already longer than the pad.
  return sign + zeroes.substring(nDigits) + numstr;
}
于 2012-04-23T23:38:39.783 回答