Nube

lunes, 28 de julio de 2008

Función para dar formato a un número en javascript

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:

ddarmas dijo...

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

Demiurgo dijo...

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.

Unknown dijo...

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));

}



}

Unknown dijo...

creo que esta mas sencilla de entender