<script type="text/javascript">
/**
* Funcion que devuelve un numero separando los separadores de miles
* Puede recibir valores negativos y con decimales
*/
function numberFormat(numero){
// Variable que contendra el resultado final
var resultado = "";
// Si el numero empieza por el valor "-" (numero negativo)
if(numero[0]=="-")
{
// Cogemos el numero eliminando los posibles puntos que tenga, y sin
// el signo negativo
nuevoNumero=numero.replace(/\./g,'').substring(1);
}else{
// Cogemos el numero eliminando los posibles puntos que tenga
nuevoNumero=numero.replace(/\./g,'');
}
// Si tiene decimales, se los quitamos al numero
if(numero.indexOf(",")>=0)
nuevoNumero=nuevoNumero.substring(0,nuevoNumero.indexOf(","));
// Ponemos un punto cada 3 caracteres
for (var j, i = nuevoNumero.length - 1, j = 0; i >= 0; i--, j++)
resultado = nuevoNumero.charAt(i) + ((j > 0) && (j % 3 == 0)? ".": "") + resultado;
// Si tiene decimales, se lo añadimos al numero una vez forateado con
// los separadores de miles
if(numero.indexOf(",")>=0)
resultado+=numero.substring(numero.indexOf(","));
if(numero[0]=="-")
{
// Devolvemos el valor añadiendo al inicio el signo negativo
return "-"+resultado;
}else{
return resultado;
}
}
document.write(""+numberFormat("-123456789,12"));
document.write(""+numberFormat("-1100000,23"));
</script>
Comentarios sobre la versión: Versión 1 (3)
var number = 3500;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString