Gemäß den Bedürfnissen der Benutzer sollte der Betrag beim Eintritt formatiert werden, dh alle drei Ziffern werden durch Kommas getrennt und zwei Dezimalstellen bleiben erhalten.
In Anbetracht der Erfahrung des Benutzers formatieren Sie die Menge mit JS, der Vordergrundcode lautet wie folgt:
Die Codekopie lautet wie folgt:
<ASP: textbox id = "txtAmount" runat = "server" onkeypress = "check ()" onkeyup = "run (this)"> </ASP: textBox>
Der JS -Code lautet wie folgt:
Die Codekopie lautet wie folgt:
// ======= Überprüfen Sie, ob die Eingabe eine Zahl ist
Funktion check () {
if (!
window.event.keycode = 0
}
}
// ======== Die Menge des formatierten Textfelds
Funktionslauf (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": Neue String (objValue) .Substring (0, dtmp);
floattmp = neuer String (objValue) .substring (dtmp + 1, objlength + 1);
floattmp = floattmp.replace (/[^0-9]/g, "");
}
anders {
inttmp = objValue;
}
if (neg == 0) {
inttmp = inttmp.replace (/[-]/g, "");
}
inttmp = inttmp.replace (/[^0-9]/g, "");
var tmp = "", str = "0000";
für (; inttmp.length> 3;) {
var temp = new String (INTTMP / 1000);
if (temp.indexof (".") == -1) {
tmp = ", 000" + tmp;
inttmp = temp;
}
anders {
var le = new String (temp) .Split (".") [1] .Length;
tmp = "," + new String (temp) .Split (".") [1] + str.Substring (0, 3 - le) + tmp;
inttmp = new String (temp) .Split (".") [0];
}
}
inttmp = inttmp + tmp;
obj.value = neg == 0? "-" + inttmp + running (floattmp): inttmp + running (floattmp);
}
// ======= organisieren Sie den Dezimalteil
Funktion laufend (val) {
if (val! = "-1" && val! = "") {
var valvalue = 0 + "." + val;
if (val.length> = 2) {
valvalue = parsefloat (valvalue) .tofixed (2);
}
var temp = "." + valvalue.split (".") [1];
Temperatur zurückgeben;
}
else if (val! = "0" && val == "") {
zurückkehren ".";
}
anders {
zurückkehren "";
}
}
Gleichzeitig wird das Urteil von "neg = objValue.indexof ("-")" hinzugefügt, da der Betrag in eine negative Zahl eingegeben werden kann.
In Bezug auf die Formatierung der Menge begegne ich oft solchen Dingen. Wenn ich denke, dass das in Ordnung ist, werde ich es für einen einfachen Zugang in Zukunft behalten!