Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mepad Nombor dengan Sifar Utama dalam JavaScript?

Bagaimanakah Saya Boleh Mepad Nombor dengan Sifar Utama dalam JavaScript?

DDD
DDDasal
2024-12-06 11:38:12407semak imbas

How Can I Pad a Number with Leading Zeros in JavaScript?

Menambah Nombor dengan Sifar Utama dalam JavaScript

Apabila berurusan dengan JavaScript, keperluan sering timbul untuk mengalas nombor dengan sifar pendahuluan. Sebagai contoh, nombor 9 menjadi "0009," dan 10 menjadi "0010," sentiasa mematuhi format empat digit.

Kaedah Plain-Jane

Pendekatan mudah melibatkan penolakan nombor daripada 4 untuk menentukan bilangan sifar yang diperlukan. Walaupun berfungsi, ia tidak mempunyai bakat.

Kaedah padStart() ES2017

Dalam ES2017, kaedah String.prototype.padStart() menawarkan penyelesaian yang lebih elegan. Ia menambahkan aksara yang ditentukan (secara lalai, ruang) di sebelah kiri rentetan sehingga ia mencapai panjang yang diingini.

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

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

Fungsi Padding Generik

Dalam senario di mana padStart() mungkin bukan pilihan, fungsi padding generik boleh digunakan:

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

Fungsi ini menggunakan keupayaan tatasusunan untuk menerima nombor sebagai hujah dan mencipta tatasusunan dengan panjang itu, diisi dengan elemen yang tidak ditentukan. Apabila menggabungkan elemen ini dengan sifar (atau aksara lain yang ditentukan), rentetan dijana dengan bilangan sifar pendahuluan yang sesuai.

Contoh Penggunaan

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

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mepad Nombor dengan Sifar Utama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn