Skip to content

Instantly share code, notes, and snippets.

@jrobinsonc
Last active July 23, 2021 22:09
Show Gist options
  • Star 33 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save jrobinsonc/5718959 to your computer and use it in GitHub Desktop.
Save jrobinsonc/5718959 to your computer and use it in GitHub Desktop.
Funcion para darle formato a un número. #javascript #numbers
function number_format(amount, decimals) {
amount += ''; // por si pasan un numero en vez de un string
amount = parseFloat(amount.replace(/[^0-9\.]/g, '')); // elimino cualquier cosa que no sea numero o punto
decimals = decimals || 0; // por si la variable no fue fue pasada
// si no es un numero o es igual a cero retorno el mismo cero
if (isNaN(amount) || amount === 0)
return parseFloat(0).toFixed(decimals);
// si es mayor o menor que cero retorno el valor formateado como numero
amount = '' + amount.toFixed(decimals);
var amount_parts = amount.split('.'),
regexp = /(\d+)(\d{3})/;
while (regexp.test(amount_parts[0]))
amount_parts[0] = amount_parts[0].replace(regexp, '$1' + ',' + '$2');
return amount_parts.join('.');
}
@byWhish
Copy link

byWhish commented May 18, 2016

Muchas gracias por esto me ayudo un monton.

@jPablo23
Copy link

Excelente! muchas gracias! amigo.

@jmunozrojas-chileautos
Copy link

Muchas gracias, está genial!!!!

@cuatl
Copy link

cuatl commented Apr 25, 2017

bien, utilicé tu función aquÍ https://tar.mx/apps/honorarios/

@felipedes
Copy link

Gracias bro!, me sirvió totalmente :)

@mikote2000
Copy link

Gracias, me ha sido muy útil

@hrbullon
Copy link

hrbullon commented Jul 2, 2017

Gracias, me ha servido mucho, resolví un problema para el cálculo de cotizaciones!

@SOFTDromedicas
Copy link

Muchas gracias .. Muy util

@npcsayfail
Copy link

excelente, muy util

@diuardet
Copy link

Muchas gracias! Perfecto.

@zipus
Copy link

zipus commented Jan 19, 2018

Perfecto, solo le falta que los números con el símbolo "+" o "-" en el inicio se mantengan.

@ceshuete
Copy link

Me ayudo bastante tu función bro.

para mantener el signo hago lo siguiente.
como primer linea de la function:
var sign = (amount.toString().substring(0, 1) == "-");
y en el return
return sign ? '-' + amount_parts.join('.') : amount_parts.join('.');

Espero les funcione como a mi.

@canoqb10
Copy link

Gracias excelente!

@CNavarro117
Copy link

Muy buen aporte Gracias.

@th3khandev
Copy link

Gracias amigo excelente muy bueno. me salvaste...!

@manicho
Copy link

manicho commented May 4, 2018

Muchas gracias, era lo que estaba buscando. Gracias por difundir el conocimiento!

@jicamachov
Copy link

¡Esta genial bro!, saludos desde Arjona-Bolivar - Colombia.

@rigo42
Copy link

rigo42 commented Jul 16, 2018

Recomendado !!

@whary11
Copy link

whary11 commented Jul 24, 2018

Gracias, ha funcionado de maravilla para lo que necesito.

@du-hernandez
Copy link

Gracias, funcionó muy bien

@andresfgiraldo
Copy link

Excelente! gracias por el aporte.

Para mantener el simbolo:

//amount = parseFloat(amount.replace(/[^0-9\.]/g, '')); // elimino cualquier cosa que no sea numero o punto
amount = parseFloat(amount.replace(/[^0-9\.-]/g, '')); // andresfgiraldo: En la expresión regular se agrega "-" despues del punto para permitir negativos.

number_format

@dchurapa
Copy link

dchurapa commented May 8, 2019

Excelente, muchas gracias me ayudo bastante.

Copy link

ghost commented May 29, 2019

Muchas Gracias!!!

@ZeroxBit
Copy link

Muchas Gracias!!

@jonathan-jackob
Copy link

Gracias!!
Buen código.

@josselynsan
Copy link

Muchas gracias, me funciono muy bien.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment