Para dar formato a un número desde javascript, añade la función dar_formato a tu código y llámala con el número a formatear.
<SCRIPT LANGUAJE="Javascript">
//Autor : Roberto Herrero & Daniel
//Web: http://www.indomita.org
//Asunto : Dar formato a un número
function dar_formato(num){
var cadena = ""; var aux;
var cont = 1,m,k;
if(num<0) aux=1; else aux=0;
num=num.toString();
for(m=num.length-1; m>=0; m--){
cadena = num.charAt(m) + cadena;
if(cont%3 == 0 && m >aux) cadena = "." + cadena; else cadena = cadena;
if(cont== 3) cont = 1; else cont++;
}
cadena = cadena.replace(/.,/,",");
return cadena;
}
</SCRIPT>
4 comentarios:
Buenas, estuve revisando su funcion y está bastante practica y funcional, solo una sugerencia. La estuve utilizando en mi Aplicacion y cuando tenia numeros con decimales me retornaba un punto adicional, ejemplo: 1.234.,56 por tal razón l eañadí antes del return lo siguiente:
cadena = cadena.replace(/.,/,",");
y listo de esta forma ese punto adicional que se genera entre la parte entera y la parte decimal es eliminado.
Saludos,
Daniel E. D' Armas G.
ddarmas@gmail.com
Antes que nada muchas gracias por el aviso.
La verdad es que como únicamente la he utilizado para dar formato a números enteros no me había dado cuenta.
Voy a modificar el código con tu sugerencia.
YO HICE ESTA FUNCION PARA DAR FORMATO A UN NUMERO FLOTANTE LE ASIGNA 2 O MAS UNIDADES DESPUES DEL PUNTO...
function FromatoNumero(numero){
var total = numero.toString();
var puntoPos = total.indexOf('.');
var tamano = total.length;
if (puntoPos > 0 && tamano > 4){
var TotalConFormato = total.substring(0, (Number(puntoPos)+2));
return(Number(TotalConFormato));
}else{
return (Number(numero));
}
}
creo que esta mas sencilla de entender
Publicar un comentario