Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Pad Nombor dengan Sifar Utama dalam JavaScript?

Bagaimana untuk Pad Nombor dengan Sifar Utama dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 15:28:16643semak imbas

How to Pad a Number with Leading Zeros in JavaScript?

Cara Melapik Nombor dengan Sifar Utama dalam JavaScript

JavaScript tidak mempunyai fungsi terbina dalam untuk mengalas nombor dengan sifar pendahulu. Walau bagaimanapun, anda boleh mencapai padding ini menggunakan pelbagai kaedah.

Penyelesaian 1: Menggunakan String.prototype.padStart()

Untuk ES2017 dan ke atas, anda boleh memanfaatkan String .prototype.padStart() kaedah:

String(n).padStart(4, '0');

Ini akan menambah nombor n dengan sifar sehingga mencapai jumlah panjang 4. Contohnya:

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

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

Penyelesaian 2: Menggunakan Array.prototype.join()

Untuk pelayar pra-ES2017 , anda boleh menggunakan gabungan Array.prototype.join() dan rentetan penggabungan:

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 mula-mula menyemak sama ada panjang rentetan nombor sudah lebih besar daripada atau sama dengan lebar yang diingini. Jika tidak, ia memulakan tatasusunan dengan panjang yang sama dengan lebar tolak panjang semasa nombor ditambah 1 dan menggabungkannya dengan aksara sifar. Ini secara berkesan mencipta rentetan sifar dengan panjang yang sesuai, yang kemudiannya digabungkan dengan nombor.

Contoh Penggunaan:

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

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

Atas ialah kandungan terperinci Bagaimana untuk Pad 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