我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
当前回答
为ES6箭头函数更新(几乎所有现代浏览器都支持,参见CanIUse)
const formatNumber = n => ("0" + n).slice(-2);
其他回答
这是我的版本。可以很容易地适应其他场景。
function setNumericFormat(value) {
var length = value.toString().length;
if (length < 4) {
var prefix = "";
for (var i = 1; i <= 4 - length; i++) {
prefix += "0";
}
return prefix + value.toString();
}
return value.toString();
}
("0" + (date.getMonth() + 1)).slice(-2);
("0" + (date.getDay())).slice(-2);
如果数字大于9,则将数字转换为字符串(一致性)。否则,加一个零。
function n(n){
return n > 9 ? "" + n: "0" + n;
}
n( 9); //Returns "09"
n(10); //Returns "10"
n(999);//Returns "999"
快速和肮脏的一个班轮....
function zpad(n, len) {
return 0..toFixed(len).slice(2,-n.toString().length)+n.toString();
}
之前答案的改进版本
函数atLeast2Digit (n) { n = parseInt(n);/ /交货。如果已经经过'05',它将被转换为数字5 Var ret = n > 9 ?" + n: "0" + n; 返回受潮湿腐烂; } alert (atLeast2Digit (5));