寫一個方法,當給定數字位數不足8位時,則在左邊補充0以補足8位數的方法

王铁柱6發表於2024-12-05
function padLeftWithZeros(number) {
  const numStr = String(number);
  const paddingLength = 8 - numStr.length;

  if (paddingLength <= 0) {
    return numStr; // No padding needed
  }

  return '0'.repeat(paddingLength) + numStr;
}


// Examples
console.log(padLeftWithZeros(123));       // Output: 00000123
console.log(padLeftWithZeros(1234567));    // Output: 01234567
console.log(padLeftWithZeros(12345678));   // Output: 12345678
console.log(padLeftWithZeros(123456789));  // Output: 123456789 (no change if more than 8 digits)

This function utilizes a few key techniques:

  • String(number): Converts the input number to a string. This is essential for string manipulation.
  • 8 - numStr.length: Calculates the required padding length.
  • '0'.repeat(paddingLength): Efficiently creates a string of zeros with the calculated length. This is generally the fastest way to create repeating strings in JavaScript.
  • '0'.repeat(...) + numStr: Concatenates the padding zeros to the left of the number string.
  • Handles numbers longer than 8 digits: The if statement ensures that numbers with 9 or more digits are returned without modification.

This approach is concise, efficient, and easily readable. It's suitable for various front-end development scenarios where you need to format numbers with leading zeros.

相關文章