Cómo escribir formato numérico en JavaScript
Escriba una función js que pueda llamarse directamente para formatear números. La siguiente es la parte del código
/**
* Formateado. Método de visualización de números
* Uso
* formatNumber(12345.999,'#,##0.00');
* formatNumber(12345.999,'#,##); 0. ##');
* formatNumber(123,'000000');
* @param num
* @param patrón
*/
función formatNumber(num, patrón){
var strarr = num?num.toString().split('.'): ['0']
var fmtarr = patrón?pattern.split('.'):['']
var retstr=''; parte
var str = strarr[0];
var fmt = fmtarr[0]
var i = str.length-1; >
var coma = false;
for(var f=fmt.length-1;fgt;=0;f--){
switch(fmt.substr( f, 1)){
case '#':
if(igt;=0) retstr = str.substr(i--,1) retstr;
romper;
caso '0':
if(igt;=0) retstr = str.substr(i--,1) retstr; p> else retstr = '0' retstr;
break;
case ',':
coma = true; =' ,' retstr;
descanso
}
}
if(igt;=0){
if(coma){
var l = str.length
for(;igt;=0;i--){
retstr = str .substr(i, 1) retstr;
if(igt; 0 amp; amp; ((l-i)3)==0) retstr = ',' retstr; >
}
}
else retstr = str.substr(0, i 1) retstr;
}
retstr = retstr '. ';
// Procesa la parte decimal
str=strarr.lengthgt 1?strarr[1]: ''; 1?fmtarr[1]:'';
i=0
for(var f=0; flt; fmt.length; f ){
switch(fmt.substr(f, 1)){
case '#':
if(ilt; str.length) retstr =str.substr(i, 1 ) ;
romper;
caso '0':
if(ilt; str.length) retstr = str.substr(i, 1); /p>
p>
else retstr ='0';
descanso
}
}
return retstr.replace(/ ^, /, '').replace(/\.$/, '');
}
alert(formatNumber(12345.999,'#, ##0.00')) ;
lt;/scriptgt;