Baru-baru ini, saya melihat pertanyaan wawancara (tes tertulis) menggunakan JS untuk mengimplementasikan pemisah angka ribuan digit di internet, jadi saya menulis metode yang menggunakan "reguler + ganti" untuk mengimplementasikannya:
Salinan kode adalah sebagai berikut:
var riberitsbitseparator = function (numstr) {
var b =/([-+]?/d {3}) (? =/d)/g;
return numstr.replace (b, function ($ 0, $ 1) {
mengembalikan $ 1 + ',';
});
}
Mendukung pencocokan tanda -tanda positif dan negatif dan membedakan titik desimal. Jika ada kesalahan, saya harap semua orang menunjukkan: -D
Melampirkan metode implementasi oleh netizen lain
Salinan kode adalah sebagai berikut:
<bahasa skrip = "javascript" type = "text/javascript">
format formatNumber (num) {
if (!/^(/+|-)? (/d+) (/./ d+)? $/. test (num)) {
Return Num;
}
var a = regexp. $ 1, b = regexp. $ 2, c = regexp. $ 3;
var re = regexp baru (). compile ("(// d) (// d {3}) (, | $)");
while (re.test (b)) {
B = B. Replace (re, "$ 1, $ 2 $ 3");
}
mengembalikan A + "" + B + "" + C;
}
var num = 1234567/3;
alert ("num ="+num+", bulat:"+math.round (num)+", dua digit signifikan:"+num.tofixed (2)+", tambahkan ribuan pemisah:"+formatNumber (num));
</script>
Di atas adalah semua tentang artikel ini, saya harap Anda menyukainya.