【发布时间】:2011-10-13 00:12:07
【问题描述】:
001格式的数字是否有特殊名称。
例如,数字 20 将是 020,而 1 将是 001。
当您不知道某些东西的名称时,很难用 Google 搜索!
由于我已经在浪费你们的时间了,有没有人知道改变的功能数字转换成这种格式。
【问题讨论】:
标签: javascript number-formatting
001格式的数字是否有特殊名称。
例如,数字 20 将是 020,而 1 将是 001。
当您不知道某些东西的名称时,很难用 Google 搜索!
由于我已经在浪费你们的时间了,有没有人知道改变的功能数字转换成这种格式。
【问题讨论】:
标签: javascript number-formatting
我认为这通常称为“填充”数字。
【讨论】:
它被称为左零填充数字。
【讨论】:
它叫padding。
【讨论】:
好吧,如果您在某些编程语言的上下文中讨论这种表示法,020 与 20 相对应是八进制而不是十进制。
否则,您指的是填充。
【讨论】:
通过 google 快速搜索发现Number Padding 的这个漂亮的 sn-p 代码:
http://sujithcjose.blogspot.com/2007/10/zero-padding-in-java-script-to-add.html
function zeroPad(num,count)
{
var numZeropad = num + '';
while(numZeropad.length < count) {
numZeropad = "0" + numZeropad;
}
return numZeropad;
}
【讨论】:
你可以使用一个简单的函数,比如:
function addZ(n) {
return (n<10? '00' : n<100? '0' : '') + n;
}
或者一个更强大的函数,用你喜欢的任意字符填充左侧,例如
function padLeft(n, c, len) {
var x = ('' + n).length;
x = (x < ++len)? new Array(len - x) : [];
return x.join(c) + n
}
【讨论】:
试试这个:
Number.prototype.toMinLengthString = function (n) {
var isNegative = this < 0;
var number = isNegative ? -1 * this : this;
for (var i = number.toString().length; i < n; i++) {
number = '0' + number;
}
return (isNegative ? '-' : '') + number;
}
【讨论】: