gpt4 book ai didi

javascript - 在 JavaScript 中用前导零填充数字

转载 作者:bug小助手 更新时间:2023-10-28 10:41:48 25 4
gpt4 key购买 nike

在 JavaScript 中,我需要有填充。

例如,如果我有数字 9,它将是“0009”。如果我有一个数字,比如 10,它将是“0010”。注意它总是包含四位数字。

执行此操作的一种方法是将数字减去 4 以获得我需要输入的 0 的数量。

有没有更巧妙的方法来做到这一点?

最佳答案

ES2017 更新

您可以使用内置的String.prototype.padStart()

n = 9;
String(n).padStart(4, '0'); // '0009'

n = 10;
String(n).padStart(4, '0'); // '0010'

到目前为止,还没有很多“花哨”:

function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

当您使用数字初始化数组时,它会创建一个数组,并将 length 设置为该值,以便该数组看起来包含那么多 undefined 元素。尽管一些 Array 实例方法会跳过没有值的数组元素,但 .join() 不会,或者至少不完全;它将它们视为它们的值是空字符串。因此,您会在每个数组元素之间获得零字符(或任何“z”)的副本;这就是为什么里面有一个+ 1

示例用法:

pad(10, 4);      // 0010
pad(9, 4); // 0009
pad(123, 4); // 0123

pad(10, 4, '-'); // --10

关于javascript - 在 JavaScript 中用前导零填充数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10073699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com