Menurut kebutuhan pengguna, jumlah tersebut harus diformat saat masuk, yaitu, setiap tiga digit dipisahkan oleh koma dan dua tempat desimal dipertahankan.
Mempertimbangkan pengalaman pengguna, format jumlah dengan JS, kode latar depan adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
<ASP: TextBox ID = "TXTamount" runat = "server" onkeypress = "check ()" onkeyup = "run (this)"> </asp: textbox>
Kode JS adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
// ====== Periksa apakah inputnya adalah angka
function check () {
if (! ((window.event.keycode> = 48 && window.event.keycode <= 57) || window.event.keycode == 46 || window.event.keycode == 45)) {
window.event.keycode = 0
}
}
// ======== Jumlah kotak teks yang diformat
fungsi run (obj) {
var objvalue = obj.value.replace (/[,]/g, ""),
objlength = objvalue.length,
dtmp = objvalue.indexof ("."),
neg = objvalue.indexof ("-");
var inttmp = 0,
floattmp = -1;
if (dtmp! = -1) {
inttmp = dtmp == 0? "0": string baru (objValue) .substring (0, dtmp);
floattmp = string baru (objvalue) .substring (dtmp + 1, objlength + 1);
floattmp = floattmp.replace (/[^0-9]/g, "");
}
kalau tidak {
inttmp = objValue;
}
if (neg == 0) {
inttmp = inttmp.replace (/[-]/g, "");
}
inttmp = inttmp.replace (/[^0-9]/g, "");
var tmp = "", str = "0000";
untuk (; inttmp.length> 3;) {
var temp = string baru (inttmp / 1000);
if (temp.indexof (".") == -1) {
tmp = ", 000" + tmp;
inttmp = temp;
}
kalau tidak {
var le = string baru (temp) .split (".") [1] .length;
tmp = "," + string baru (temp) .split (".") [1] + str.substring (0, 3 - le) + tmp;
inttmp = string baru (temp) .split (".") [0];
}
}
inttmp = inttmp + tmp;
obj.value = neg == 0? "-" + inttmp + running (floattmp): inttmp + running (floattmp);
}
// ======= Mengatur bagian desimal
fungsi berjalan (val) {
if (val! = "-1" && val! = "") {
var valvalue = 0 + "." + val;
if (val.length> = 2) {
valvalue = parsefloat (valvalue) .tofixed (2);
}
var temp = "." + valvalue.split (".") [1];
kembalikan suhu;
}
lain if (val! = "0" && val == "") {
kembali ".";
}
kalau tidak {
kembali "";
}
}
Pada saat yang sama, karena jumlah tersebut dapat dimasukkan ke dalam angka negatif, penilaian "neg = objvalue.indexof ("-")" ditambahkan.
Mengenai pemformatan jumlahnya, saya sering menemukan hal -hal seperti itu. Jika saya pikir ini baik -baik saja, saya akan menyimpannya agar mudah diakses di masa depan!