我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
当前回答
这是一个非常好的和简短的解决方案:
smartTime(time) {
return time < 10 ? "0" + time.toString().trim() : time;
}
其他回答
您也可以使用Intl一个ECMAScript国际API,它可以像这样简单地自定义您的号码
let Number= Intl.NumberFormat('en-US', {
minimumIntegerDigits: 2,
minimumFractionDigits: 2
});
console.log(Number.format(2));
//02.00
和许多具有Intl的嵌入式函数,你可以放一个前缀符号,符号和货币格式等文档,只需点击这里
如果您的项目中没有lodash,那么仅仅为了使用一个函数而添加整个库将是一种过度。这是我见过的最复杂的解决你问题的方法。
_.padStart(num, 2, '0')
你可以:
function pad2(number) {
return (number < 10 ? '0' : '') + number
}
例子:
document.write(pad2(0) + '<br />');
document.write(pad2(1) + '<br />');
document.write(pad2(2) + '<br />');
document.write(pad2(10) + '<br />');
document.write(pad2(15) + '<br />');
结果:
00
01
02
10
15
AS数据类型在Javascript中是动态确定的,它将04视为4 如果值小于10,则使用条件语句,然后在其前面添加0,使其成为字符串 例如,
var x=4;
x = x<10?"0"+x:x
console.log(x); // 04
为ES6箭头函数更新(几乎所有现代浏览器都支持,参见CanIUse)
const formatNumber = n => ("0" + n).slice(-2);