在 JavaScript 中用前导零填充数字
How to Pad a number with Leading Zeros in JavaScript
用前导零填充数字:
- 将数字转换为字符串。
- 使用该
padStart()
方法用前导零填充字符串。 - 该
padstart()
方法会将前导零添加到字符串的开头,直到达到指定的长度。
索引.js
function padWithZero(num, targetLength) { return String(num).padStart(targetLength, '0'); } const num = 5; // 👇️ pad with 2 leading zeros console.log(padWithZero(num, String(num).length + 2)); // 👉️ '005' // 👇️ pad with 3 leading zeros console.log(padWithZero(num, String(num).length + 3)); // 👉️ '0005' // 👇️ pad with 4 leading zeros console.log(padWithZero(num, String(num).length + 4)); // 👉️ '00005'
我们创建了一个可重复使用的函数,用前导零填充数字。
padStart
方法必须
在字符串上使用,因此第一步是将数字转换为字符串。
我们将以下 2 个参数传递给该padStart
方法:
- 目标长度– 字符串被填充后的长度。
- pad string – 我们想要填充现有字符串的字符串。
如果您有一个长度为 4 的字符串,则前导零2
将
添加到该字符串中。targetLength
2
索引.js
console.log(String(22).padStart(4, '0')); // 👉️ '0022'
请注意,该padStart
方法返回一个字符串。如果您要将结果转换回数字,则前导零将被删除。
索引.js
function padWithZero(num, targetLength) { return String(num).padStart(targetLength, '0') } console.log(Number(padWithZero(5, 10))); // 👉️ 5
如果您更愿意指定字符串应填充的零的数量,请调整函数以使用字符串的长度。
索引.js
function padWithZero(num, padAmount) { const str = String(num) return str.padStart(str.length + padAmount, '0'); } const num = 5; console.log(padWithZero(num, 2)) // 👉️ "005" console.log(padWithZero(num, 3)) // 👉️ "0005" console.log(padWithZero(num, 4)) // 👉️ "00005"
我们使用字符串的长度来计算方法targetLength
调用中的长度padStart()
。
或者,您可以使用while
循环。
while
使用循环用前导零填充数字
用前导零填充数字:
- 将数字转换为字符串。
while
只要字符串未达到目标长度,就使用循环进行迭代。- 用前导零填充字符串,直到达到目标长度。
索引.js
function padWithZero(num, targetLength) { let str = String(num) while (str.length < targetLength) { str = '0' + str } return str } const num = 5; // 👇️ pad with 2 leading zeros console.log(padWithZero(num, String(num).length + 2)); // 👉️ '005' // 👇️ pad with 3 leading zeros console.log(padWithZero(num, String(num).length + 3)); // 👉️ '0005' // 👇️ pad with 4 leading zeros console.log(padWithZero(num, String(num).length + 4)); // 👉️ '00005'
功能与方法padWithZero
非常相似padStart
。
它以一个数字和所需的目标长度作为参数,并用前导零填充数字以达到指定的长度。
第一步是将数字转换为字符串。
while
只要字符串的长度小于所需的目标长度,循环就会迭代。
在每次迭代中,我们使用加法 (+) 运算符向字符串添加前导零。
一旦字符串达到所需的目标长度,while
就不再满足循环中的条件。