我有一个小于100的整数,并且使用JavaScript在HTML页面上打印。如何格式化该整数,使其恰好为两个数字?例如:
01
02
03
...
09
10
11
12
...
我有一个小于100的整数,并且使用JavaScript在HTML页面上打印。如何格式化该整数,使其恰好为两个数字?例如:
01
02
03
...
09
10
11
12
...
本回答是在2011年撰写的。请查看liubiantao的回答获取2021年版本。
function pad(d) {
return (d < 10) ? '0' + d.toString() : d.toString();
}
pad(1); // 01
pad(9); // 09
pad(10); // 10
function pad(d) {
return (d < 16) ? '0' + d.toString() : d.toString();
}
- KevinString("0" + x).slice(-2);
其中x
是你的数字。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
String(number).padStart(2, '0')
只需使用以下简短的函数即可获得所需的结果:
function pad2(number) {
return (number < 10 ? '0' : '') + number
}
function padLeft(positiveInteger, totalDigits) {
var padding = "00000000000000";
var rounding = 1.000000000001;
var currentDigits = positiveInteger > 0 ? 1 + Math.floor(rounding * (Math.log(positiveInteger) / Math.LN10)) : 1;
return (padding + positiveInteger).substr(padding.length - (totalDigits - currentDigits));
}
// Return a string padded
function FormatMe(n) {
return (n<10) ? '0'+n : n;
}
function leftFillNum(num, targetLength) {
return num.toString().padStart(targetLength, '0');
}
console.log(leftFillNum(3,2)); // ==> returns '03'
console.log(leftFillNum(33,2)); // ==> returns '33'
console.log(leftFillNum(3,4)); // ==> returns '0003'
console.log(leftFillNum(33,5)); // ==> returns '00033'
function padLeft(a, b) {
var l = (a + '').length;
if (l >= b) {
return a + '';
} else {
var arr = [];
for (var i = 0; i < b - l ;i++) {
arr.push('0');
}
arr.push(a);
return arr.join('');
}
}
function pad(n, len) {
let l = Math.floor(len)
let sn = '' + n
let snl = sn.length
if(snl >= l) return sn
return '0'.repeat(l - snl) + sn
}
使用示例
pad(1, 1) // ==> returns '1' (string type)
pad(384, 5) // ==> returns '00384'
pad(384, 4.5)// ==> returns '0384'
pad(5555, 2) // ==> returns '5555'
const threeDigit = num => num.toString().padStart(3 , '0');