Dalam proyek tersebut, saya menemukan angka yang mirip dengan '450000' perlu dikonversi ke dalam format yang digunakan untuk akuntansi akuntansi, '450.000,00', yang secara otomatis akan terisi jika tidak ada cukup dua digit setelah poin keseribu dan desimal. Beberapa metode implementasi telah dicatat.
PS: Jika Anda tidak mempertimbangkan poin desimal berikut, cara tercepat:
"12345678" .replace (/[0-9]+? (? = (?: ([0-9] {3}))+$)/g, function (a) {return a+','}); // output 12 345 678
1. Menerapkan dalam satu lingkaran
format formatnum (str) {var newstr = ""; var count = 0; if (str.indexof (".") ==-1) {for (var i = str.length-1; i> = 0; i-) {if (hitung % 3 == 0 && count! = 0) {newstr = str.charat (i) + "," + newstr; } else {newstr = str.charat (i) + newstr; } count ++; } str = newstr + ".00"; // Secara otomatis mengisi dua titik desimal console.log (str)} else {for (var i = str.indexof (".")-1; i> = 0; i-) {if (hitung % 3 == 0 && count! = 0) {newstr = str.charat (i) + "," + newstr; // Jika Anda menemukan kelipatan 3, tambahkan "," tanda} else {newstr = str.charat (i) + newstr; // Sambungkan satu per satu} Count ++; } str = newstr + (str + "00"). Substr ((str + "00"). IndexOf ("."), 3); console.log (str)}} formatnum ('13213.24'); // output 13.213.34Formatnum ('132134.2'); // output 132.134.20formatnum ('132134'); // output 132.134.00Formatnum ('132134.236'); // Output 132.134.2362. Gunakan keteraturan (apakah perlu untuk menilai jumlah digit setelah titik desimal sendiri? Harap beri tahu saya jika ada aturan yang lebih pintar ~)
fungsi regexnum (str) {var regex =/(/d) (? = (/d/d/d)+(?!/d))/g; if (str.indexof (".") == -1) {str = str.replace (regex, ',') + '.00'; console.log (str)} else {var newstr = str.split ('.'); var str_2 = newstr [0] .replace (regex, ','); if (newstr [1] .length <= 1) {// Ketika hanya ada satu setelah titik desimal str_2 = str_2 + '.' + Newstr [1] + '0'; console.log (str_2)} lain jika (newstr [1] .length> 1) {// Ketika lebih dari dua tempat desimal adalah var desimal = newstr [1] .substr (0,2); var srt_3 = str_2 + '.' + desimal; console.log (srt_3)}}}; regexnum ('23424224'); // output 2.42.224.00 Regexnum ('23424224.2'); // output 2.42.224.20RegExnum ('23424224.22'); // output 2.42.224.22RegExnum ('23424224.23'); // Output 2.42.224.23Di atas adalah seluruh konten artikel ini. Untuk informasi lebih lanjut tentang JavaScript, Anda dapat memeriksa: "Tutorial Referensi JavaScript" dan "Panduan Gaya Kode JavaScript". Saya juga berharap semua orang akan lebih mendukung wulin.com.