function number_format(n, l, d){ //NUMBER, ITS NUMBERS OF DIGITS, AND DECIMAL POINT var point = $("#point").val(); //EITHER "." OR A "," var every =3; //INSERTS THE POINT EVERY 3 DIGITS FROM THE ONE'S PLACE var p =/^[0-9]+$/; //NUMBER PATTERN FOR VALIDITY var s = ''; //BLANK UNTIL THE "FOR LOOP"
//SETS THE "EVERY 3 DIGITS POINT" DEPENDING ON DECIMAL POINT
if(point=="."){
t = ","; //INSERTS A "," AFTER 3 DIGITS IF DECIMAL POINT IS "."
} else {
t = "."; //INSERTS A "." AFTER 3 DIGITS IF DECIMAL POINT IS ","
}
//CHECKS WHETHER THE INPUT STRING IS A NUMBER
if(n.match(p)){ for(i=0; i<l; i++){ var e = (l-i)-1; //REVERSE THE "i" VARIABLE TO START FROM THE ONE'S PLACE if(e%every==0){
s += n[i]+t; //IF THE "DIGIT POSITION" IS DIVISBLE BY 3, INSERTS THE "EVERY 3 DIGITS POINT"
} else {
s += n[i]; //ELSE, JUST DISPLAYS THE DIGIT
}
} if(s[s.length-1]==t){
f = s.substr(0, s.length-1); //REMOVES THE POINT FROM THE END Ex: (1,000,000,)
} if(d&&d.match(p)){
f += point+d; //IF DECIMAL IS PRESENT
}
} else {
f = 'Digits 0-9 only';
}
$("#number").html(f); //DISPLAYS FORMATTED NUMBER IN HTML
}