我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
当前回答
使用这个函数,你可以打印任意n个数字
function frmtDigit(num, n) {
isMinus = num < 0;
if (isMinus)
num *= -1;
digit = '';
if (typeof n == 'undefined')
n = 2;//two digits
for (i = 1; i < n; i++) {
if (num < (1 + Array(i + 1).join("0")))
digit += '0';
}
digit = (isMinus ? '-' : '') + digit + num;
return digit;
};
其他回答
这很简单,而且效果很好:
function twoDigit(number) {
var twodigit = number >= 10 ? number : "0"+number.toString();
return twodigit;
}
我的例子是:
<div id="showTime"></div>
function x() {
var showTime = document.getElementById("showTime");
var myTime = new Date();
var hour = myTime.getHours();
var minu = myTime.getMinutes();
var secs = myTime.getSeconds();
if (hour < 10) {
hour = "0" + hour
};
if (minu < 10) {
minu = "0" + minu
};
if (secs < 10) {
secs = "0" + secs
};
showTime.innerHTML = hour + ":" + minu + ":" + secs;
}
setInterval("x()", 1000)
这是一个简单的数字填充函数,我经常使用。它允许任意数量的填充。
function leftPad(number, targetLength) {
var output = number + '';
while (output.length < targetLength) {
output = '0' + output;
}
return output;
}
例子:
leftPad(1, 2) // 01
leftPad(10, 2) // 10
leftPad(100, 2) // 100
leftPad(1, 3) // 001
leftPad(1, 8) // 00000001
我的版本:
`${Math.trunc(num / 10)}${Math.trunc(num % 10)}`;
const func = (num) => '${Math.trunc(num / 10)}${Math.trunc(num % 10)}'; 常量数 = [1, 3, 5, 6, 8, 9, 10, 20, 56, 80]; nums.forEach(num => console.log(func(num)));
在所有现代浏览器中都可以使用
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(填充数字); } );