在JavaScript中格式化数字

时间:2011-12-27 18:48:40

标签: javascript formatting

  

可能重复:
  Javascript adding zeros to the beginning of a string (max length 4 chars)
  javascript format number to have 2 digit

如何将数字格式化为3位数字,如..

9   => 009

99  => 099

100 => 100

5 个答案:

答案 0 :(得分:4)

这是微不足道的。

var num = 9;
num = ""+num;
while(num.length < 3) num = "0"+num;

您可以自己轻松地将其变成一个功能。

答案 1 :(得分:1)

function pad(number, length) 
{
    var result = number.toString();
    var temp = length - result.length;

    while(temp > 0) 
    {
        result = '0' + result;
        temp--;
    }

    return result;
}

答案 2 :(得分:0)

当然你需要在字符串中转换这些数字,因为数字数据类型不“支持”初始零。

你可以toString()数字,然后检查他的长度(NUMLENGTH),如果它小于你需要的总位数(MAXDIGITS),那么将MAXD​​IGITS-NUMLENGTH零添加到字符串中。

答案 3 :(得分:0)

http://jsfiddle.net/K3mwV/

String.prototype.repeat = function( num ) {
    return new Array( num + 1 ).join( this );
}
for (i=1;i <= 100;i++) {
    e = i+'';
    alert('0'.repeat(3 - e.length)+i);
}

答案 4 :(得分:0)

function padZeros(zeros, n) {
  // convert number to string
  n = n.toString();
  // cache length
  var len = n.length;

  // if length less then required number of zeros
  if (len < zeros) {
    // Great a new Array of (zeros required - length of string + 1)
    // Then join those elements with the '0' character and add it to the string
    n = (new Array(zeros - len + 1)).join('0') + n;
  }
  return n;
}