De acordo com as necessidades do usuário, o valor deve ser formatado ao entrar, ou seja, a cada três dígitos é separado por vírgulas e dois locais decimais são retidos.
Considerando a experiência do usuário, formate a quantidade com JS, o código de primeiro plano é o seguinte:
A cópia do código é a seguinte:
<asp: textbox id = "txtamount" runat = "server" onkeypress = "check ()" onkeyup = "run (this)"> </asp: textbox>
O código JS é o seguinte:
A cópia do código é a seguinte:
// ====== Verifique se a entrada é um número
função check () {
if (! ((window.event.keycode> = 48 && window.event.keycode <= 57) || window.event.keycode == 46 || window.event.keycode == 45)) {
Window.Event.KeyCode = 0
}
}
// ======== A quantidade da caixa de texto formatada
função 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": new string (objvalue) .substring (0, dtmp);
FLOATTMP = new String (objValue) .Substring (dtmp + 1, objlength + 1);
FLOTATTMP = FLOATTMP.REPLAPE (/[^0-9]/G, "");
}
outro {
inttmp = objValue;
}
if (neg == 0) {
inttmp = inttmp.replace (/[-]/g, "");
}
inttmp = inttmp.replace (/[^0-9]/g, "");
var tmp = "", str = "0000";
para (; inttmp.length> 3;) {
var temp = new String (inttmp / 1000);
if (temp.indexof (".") == -1) {
tmp = ", 000" + tmp;
inttmp = temp;
}
outro {
var le = new string (temp) .split (".") [1] .Length;
tmp = "," + nova string (temp) .split (".") [1] + str.substring (0, 3 - le) + tmp;
inttmp = new string (temp) .split (".") [0];
}
}
inttmp = inttmp + tmp;
obj.value = neg == 0? "-" + inttmp + em execução (FLOATTMP): Inttmp + Running (FLOATTMP);
}
// ======= Organize a parte decimal
função em execução (val) {
if (val! = "-1" && val! = "") {
var valvalue = 0 + "." + val;
if (val.Length> = 2) {
valvalue = parsefloat (valvalue) .tofixado (2);
}
var temp = "." + valvalue.split (".") [1];
retornar temp;
}
caso contrário, se (val! = "0" && val == "") {
retornar ".";
}
outro {
retornar "";
}
}
Ao mesmo tempo, como o valor pode ser inserido em um número negativo, é adicionado o julgamento de "neg = objValue.indexof ("-")".
Em relação à formatação da quantidade, muitas vezes encontro essas coisas. Se eu acho que está tudo bem, vou mantê -lo para facilitar o acesso no futuro!