Bagaimana saya bisa memformat angka menggunakan pemisah koma setiap tiga digit menggunakan jQuery?
Sebagai contoh:
╔═══════════╦═════════════╗
║ Input ║ Output ║
╠═══════════╬═════════════╣
║ 298 ║ 298 ║
║ 2984 ║ 2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝
jquery
number-formatting
Steve
sumber
sumber
Jawaban:
@ Paul Creasey memiliki solusi paling sederhana sebagai regex, tapi ini dia sebagai plugin jQuery sederhana:
Anda kemudian dapat menggunakannya seperti ini:
sumber
$.fn.digits = function(){ return this.each(function(){ $(this).val( $(this).val().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); }) }
$.digits = function() { ... };
.number.toLocaleString("en");
Anda bisa menggunakan
Number.toLocaleString()
:sumber
var n = 26787.89 var myObjCurrency = { style: "currency", currency: "USD", currencyDisplay : "symbol" } n.toLocaleString("en-US", myObjCurrency));
Sesuatu seperti ini jika Anda masuk ke regex, tidak yakin dengan sintaks yang tepat untuk ganti tho!
sumber
Anda bisa mencoba NumberFormatter .
Ini juga mendukung berbagai lokasi, termasuk tentu saja AS.
Berikut adalah contoh yang sangat sederhana tentang cara menggunakannya:
Keluaran:
sumber
Ini bukan jQuery, tetapi ini bekerja untuk saya. Diambil dari situs ini .
sumber
Gunakan Nomor fungsi ();
sumber
2016 Jawaban:
Javascript memiliki fungsi ini, jadi tidak perlu untuk Jquery.
sumber
Solusi yang lebih menyeluruh
Inti dari ini adalah
replace
panggilan. Sejauh ini, saya tidak berpikir salah satu solusi yang diusulkan menangani semua kasus berikut:1000 => '1,000'
'1000' => '1,000'
10000.00 => '10,000.00'
'01000.00 => '1,000.00'
'1000.00000' => '1,000.00000'
-
atau+
:'-1000.0000' => '-1,000.000'
'1000k' => '1000k'
Fungsi berikut melakukan semua hal di atas.
Anda bisa menggunakannya dalam plugin jQuery seperti ini:
sumber
Anda juga dapat melihat plugin FormatCurrency jquery (yang saya penulisnya); ia memiliki dukungan untuk beberapa lokal juga, tetapi mungkin memiliki overhead dukungan mata uang yang tidak Anda butuhkan.
sumber
Ini javascript saya, hanya diuji pada firefox dan chrome
sumber
Cara yang sangat mudah adalah dengan menggunakan
toLocaleString()
fungsisumber
Anda dapat mencoba ini, ini berhasil untuk saya
sumber