Como formatar números usando um separador de vírgula a cada três dígitos usando o jQuery?
Por exemplo:
╔═══════════╦═════════════╗
║ Input ║ Output ║
╠═══════════╬═════════════╣
║ 298 ║ 298 ║
║ 2984 ║ 2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝
jquery
number-formatting
Steve
fonte
fonte
Respostas:
@Paul Creasey tinha a solução mais simples como o regex, mas aqui está como um simples plugin jQuery:
Você poderia usá-lo assim:
fonte
$.fn.digits = function(){ return this.each(function(){ $(this).val( $(this).val().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); }) }
$.digits = function() { ... };
.number.toLocaleString("en");
Você poderia usar
Number.toLocaleString()
:fonte
var n = 26787.89 var myObjCurrency = { style: "currency", currency: "USD", currencyDisplay : "symbol" } n.toLocaleString("en-US", myObjCurrency));
Algo assim se você estiver em regex, não tem certeza da sintaxe exata para substituir tho!
fonte
Você pode tentar NumberFormatter .
Ele também suporta diferentes localidades, incluindo, obviamente, os EUA.
Aqui está um exemplo muito simplificado de como usá-lo:
Resultado:
fonte
Isso não é jQuery, mas funciona para mim. Retirado deste site .
fonte
Use a função Number ();
fonte
2016 Resposta:
Javascript tem essa função, portanto, não há necessidade de Jquery.
fonte
Uma solução mais completa
O núcleo disso é a
replace
chamada. Até agora, acho que nenhuma das soluções propostas lida com todos os seguintes casos:1000 => '1,000'
'1000' => '1,000'
10000.00 => '10,000.00'
'01000.00 => '1,000.00'
'1000.00000' => '1,000.00000'
-
ou+
:'-1000.0000' => '-1,000.000'
'1000k' => '1000k'
A função a seguir faz todas as ações acima.
Você poderia usá-lo em um plugin jQuery como este:
fonte
Você também pode olhar para o plugin jquery FormatCurrency (do qual sou o autor); também possui suporte para vários códigos de idioma, mas pode ter a sobrecarga do suporte de moeda que você não precisa.
fonte
Aqui está o meu javascript, testado apenas no Firefox e Chrome
fonte
Maneira muito fácil é usar a
toLocaleString()
funçãofonte
Você pode tentar isso, funciona para mim
fonte