JavaScript 格式数字,始终为 3 位数字

2022-01-15 00:00:00 format numbers digits javascript days

可能重复:
如何使用 JavaScript 创建 Zerofilled 值?

我必须输出一个必须始终包含 3 位数字的天数.它必须写成 003 而不是 3,而不是 12 它必须写成 012.如果大于 100 则不格式化输出.我想知道是否有我可以使用的正则表达式或一些快速的内联脚本,或者我必须创建一个应该这样做并返回结果的函数.谢谢!

I have to output a day number that must always have 3 digits. Instead of 3 it must write 003, instead of 12 it must write 012. If it is greater than 100 output it without formatting. I wonder if there's a regex that I could use or some quick in-line script, or I must create a function that should do that and return the result. Thanks!

推荐答案

怎么样:

 zeroFilled = ('000' + x).substr(-3)

对于任意宽度:

 zeroFilled = (new Array(width).join('0') + x).substr(-width)

根据评论,这似乎更准确:

As per comments, this seems more accurate:

lpad = function(s, width, char) {
    return (s.length >= width) ? s : (new Array(width).join(char) + s).slice(-width);
}

相关文章