¿Cómo puedo formatear números usando un separador de coma cada tres dígitos usando jQuery?
Por ejemplo:
╔═══════════╦═════════════╗
║ Input ║ Output ║
╠═══════════╬═════════════╣
║ 298 ║ 298 ║
║ 2984 ║ 2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝
jquery
number-formatting
Steve
fuente
fuente
Respuestas:
@Paul Creasey tenía la solución más simple como regex, pero aquí está como un simple complemento jQuery:
Entonces podría usarlo así:
fuente
$.fn.digits = function(){ return this.each(function(){ $(this).val( $(this).val().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); }) }
$.digits = function() { ... };
.number.toLocaleString("en");
Podrías usar
Number.toLocaleString()
:fuente
var n = 26787.89 var myObjCurrency = { style: "currency", currency: "USD", currencyDisplay : "symbol" } n.toLocaleString("en-US", myObjCurrency));
Algo como esto si te gusta la expresión regular, ¡no estás seguro de la sintaxis exacta para el reemplazo aunque!
fuente
Podrías probar NumberFormatter .
También es compatible con diferentes configuraciones regionales, incluido, por supuesto, EE. UU.
Aquí hay un ejemplo muy simplificado de cómo usarlo:
Salida:
fuente
Esto no es jQuery, pero funciona para mí. Tomado de este sitio .
fuente
Use la función Número ();
fuente
Respuesta 2016:
Javascript tiene esta función, por lo que no necesita Jquery.
fuente
Una solución más completa
El núcleo de esto es la
replace
llamada. Hasta ahora, no creo que ninguna de las soluciones propuestas maneje todos los siguientes casos:1000 => '1,000'
'1000' => '1,000'
10000.00 => '10,000.00'
'01000.00 => '1,000.00'
'1000.00000' => '1,000.00000'
-
o+
:'-1000.0000' => '-1,000.000'
'1000k' => '1000k'
La siguiente función hace todo lo anterior.
Puede usarlo en un complemento jQuery como este:
fuente
También puede consultar el complemento jquery FormatCurrency (del cual soy el autor); también tiene soporte para múltiples configuraciones regionales, pero puede tener la sobrecarga del soporte de divisas que no necesita.
fuente
Aquí está mi javascript, probado solo en Firefox y Chrome
fuente
La forma muy fácil es usar la
toLocaleString()
funciónfuente
Puedes probar esto, me funciona
fuente