Maison  >  Article  >  interface Web  >  Asp.net js implémente les compétences montantes formatting_javascript

Asp.net js implémente les compétences montantes formatting_javascript

WBOY
WBOYoriginal
2016-05-16 16:12:371793parcourir

Selon les besoins de l'utilisateur, formatez le montant lors de sa saisie, c'est-à-dire séparez tous les trois chiffres par des virgules et conservez deux décimales.

Compte tenu de l'expérience utilisateur, JS est utilisé pour formater le montant. Le code front-end est le suivant :

Copier le code Le code est le suivant :


Le code JS est le suivant :

Copier le code Le code est le suivant :

//======Vérifiez si l'entrée est un nombre
fonction check() {
if (!((window.event.keyCode >= 48 && window.event.keyCode <= 57) || window.event.keyCode == 46 || window.event.keyCode == 45)) {
          window.event.keyCode = 0
>
>
//======Formater le montant de la zone de texte
fonction exécuter(obj) {
var objvalue = obj.value.replace(/[,]/g, ""),
        objlength = objvalue.length,
        dtmp = objvalue.indexOf("."),
         neg = objvalue.indexOf("-");
var inttmp = 0,
floattmp = -1;
Si (dtmp != -1) {
inttmp = dtmp == 0 ? "0" : new String(objvalue).substring(0, dtmp);
floattmp = new String(objvalue).substring(dtmp 1, objlength 1);
floattmp = floattmp.replace(/[^0-9]/g, "");
>
sinon {
inttmp = objvalue;
>
Si (nég == 0) {
         inttmp = inttmp.replace(/[-]/g, "");
>
inttmp = inttmp.replace(/[^0-9]/g, "");
var tmp = "", str = "0000";
pour (; inttmp.length > 3; ) {
        var temp = new String(inttmp / 1000);
Si (temp.indexOf(".") == -1) {
            tmp = ",000" tmp;
inttmp = temp;
>
         autre {
              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 en cours d'exécution (floattmp) : inttmp en cours d'exécution (floattmp);
>
//======Organiser la partie décimale
fonction en cours d'exécution (val) {
Si (val != "-1" && val != "") {
          var valvalue = 0 "val;
Si (val.length >= 2) {
              valvalue = parseFloat(valvalue).toFixed(2);
>
         var temp = "." valvalue.split(".")[1];
         température de retour ;
>
​ sinon if (val != "0" && val == "") {
         return ".";
>
sinon {
         return "";
>
>

En même temps, comme le montant peut être saisi sous forme de nombre négatif, le jugement "neg = objvalue.indexOf("-")" est ajouté.

Concernant le problème de formatage des montants, je rencontre souvent ce genre de chose, je pense que ça va, donc je le garderai pour référence future !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn