Código de JavaScript - formatear números con los separadores de miles

Imágen de perfil

formatear números con los separadores de milesgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 25 de Octubre del 2012 por Xavi
27.094 visualizaciones desde el 25 de Octubre del 2012. Una media de 126 por semana
Función que devuelve un numero separando los separadores de miles. Puede recibir valores negativos y con decimales.

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 25 de Octubre del 2012gráfica de visualizaciones de la versión: Versión 1
27.095 visualizaciones desde el 25 de Octubre del 2012. Una media de 126 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<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 (2)

blogbar
11 de Septiembre del 2014
estrellaestrellaestrellaestrellaestrella
Es mas sencillo
var number = 3500;

console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
Responder
Imágen de perfil
xve
07 de Julio del 2016
estrellaestrellaestrellaestrellaestrella
Para definir la cantidad de decimales, se puede poner:
number.toLocaleString('de-DE', { style: 'decimal', decimal: '3' })
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2236