在处理 JavaScript 时,经常需要用前导零填充数字。例如,数字 9 变为“0009”,10 变为“0010”,始终遵循四位数格式。
一种简单的方法是减去数字从 4 确定所需的零个数。虽然功能齐全,但缺乏天赋。
在 ES2017 中,String.prototype.padStart() 方法提供了更优雅的解决方案。它将指定的字符(默认为空格)附加到字符串的左侧,直到达到所需的长度。
n = 9; String(n).padStart(4, '0'); // '0009' n = 10; String(n).padStart(4, '0'); // '0010'
在 padStart() 可能的情况下不是一个选项,可以使用通用填充函数:
function pad(n, width, z) { z = z || '0'; n = n + ''; return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n; }
此函数利用数组接受数字作为参数的能力并创建一个具有该长度的数组,并填充未定义的元素。当使用零(或其他指定字符)连接这些元素时,会生成一个带有适当数量的前导零的字符串。
pad(10, 4); // 0010 pad(9, 4); // 0009 pad(123, 4); // 0123 pad(10, 4, '-'); // --10
以上是如何在 JavaScript 中用前导零填充数字?的详细内容。更多信息请关注PHP中文网其他相关文章!