如何在 JavaScript 中用前导零填充数字

在 JavaScript 中用前导零填充数字

How to Pad a number with Leading Zeros in JavaScript

用前导零填充数字:

  1. 将数字转换为字符串。
  2. 使用该padStart()方法用前导零填充字符串。
  3. 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方法:

  1. 目标长度– 字符串被填充后的长度。
  2. pad string – 我们想要填充现有字符串的字符串。

如果您有一个长度为 4 的字符串,则前导零2
添加到该字符串中。
targetLength2

索引.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使用循环用前导零填充数字

用前导零填充数字:

  1. 将数字转换为字符串。
  2. while只要字符串未达到目标长度,就使用循环进行迭代。
  3. 用前导零填充字符串,直到达到目标长度。
索引.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
就不再满足循环中的条件。