Saat memformat nilai numerik, masalah umum adalah memformat sesuai dengan millites. Sudah ada banyak solusi untuk masalah ini secara online. Anda juga dapat menggunakan metode array.prototype.reduce untuk mencapai pemformatan milit.
Function formatNumber (num) {if (isNan (num)) {lempar typeError baru ("num bukan angka"); } var groups = (/([/-//+]?) (/d*) (/./ d+)?/g) .exec (""+num), mask = grup [1], // tandai bit bit = (grup [2] || ") .split (" "), // integer bagian desimal = 3] || "", // Bagian desimal tetap = bilangan bulat. Panjang % 3; var temp = integers.reduce (function (sebelumnyavalue, currentValue, index) {if (index + 1 === tetap || (index + 1 - tetap) % 3 === 0) {return sebelumnyavalue + currentValue + ",";} else {return sebelumnya value + currentValue;}}, ""). return mask + temp + desimal; }Metode pengurangan Array tidak didukung di bawah IE9, tetapi kami dapat mengimplementasikan metode pengurangan berdasarkan Ecmascript 3.
Dalam JavaScript, parameter pola pencocokan dari metode ganti suatu string dapat menjadi ekspresi reguler selain string. Berikut ini adalah kode spesifik untuk menggunakan metode string.prototype.replace untuk mengimplementasikan pemformatan ribuan:
Function formatNumber (num) {if (isNan (num)) {lempar typeError baru ("num bukan angka"); } return ("" + num) .replace (/(/d {1,3}) (? = (/d {3}) + (?: $ | /.)/ G, "$ 1,"); }(/D {1,3}) adalah grup penangkapan yang dapat direferensikan secara terbalik menggunakan $ 1. ? = (/d {3})+(?: $ |/.) Adalah pernyataan maju, menunjukkan bahwa kecocokan antara 1 dan 3 angka harus diikuti oleh 3 angka, tetapi tidak berisi 3 angka terakhir atau 3 angka dan titik desimal.
Dua metode implementasi sederhana untuk pemformatan millite numerik JavaScript dalam artikel di atas adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.