我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
当前回答
("0" + (date.getMonth() + 1)).slice(-2);
("0" + (date.getDay())).slice(-2);
其他回答
在所有现代浏览器中都可以使用
numberStr.padStart(2, "0");
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
函数 zeroPad(numberStr) { 返回 numberStr.padStart(2, “0”); } 变量数 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 数字.forEach( 函数(数字) { var numString = num.toString(); var ppadNum = zeroPad(numString); console.log(填充数字); } );
为ES6箭头函数更新(几乎所有现代浏览器都支持,参见CanIUse)
const formatNumber = n => ("0" + n).slice(-2);
如果数字大于9,则将数字转换为字符串(一致性)。否则,加一个零。
function n(n){
return n > 9 ? "" + n: "0" + n;
}
n( 9); //Returns "09"
n(10); //Returns "10"
n(999);//Returns "999"
您也可以使用Intl一个ECMAScript国际API,它可以像这样简单地自定义您的号码
let Number= Intl.NumberFormat('en-US', {
minimumIntegerDigits: 2,
minimumFractionDigits: 2
});
console.log(Number.format(2));
//02.00
和许多具有Intl的嵌入式函数,你可以放一个前缀符号,符号和货币格式等文档,只需点击这里
我的例子是这样的
var n =9;
var checkval=('00'+n).slice(-2);
console.log(checkval)
输出是09