Как я могу отформатировать числа, используя разделитель запятой каждые три цифры, используя jQuery?
Например:
╔═══════════╦═════════════╗
║ Input ║ Output ║
╠═══════════╬═════════════╣
║ 298 ║ 298 ║
║ 2984 ║ 2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝
Ответы:
У @Paul Creasey было самое простое решение - регулярное выражение, но здесь это простой плагин jQuery:
Затем вы можете использовать это так:
источник
$.fn.digits = function(){ return this.each(function(){ $(this).val( $(this).val().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); }) }
$.digits = function() { ... };
.number.toLocaleString("en");
Вы можете использовать
Number.toLocaleString()
:источник
var n = 26787.89 var myObjCurrency = { style: "currency", currency: "USD", currencyDisplay : "symbol" } n.toLocaleString("en-US", myObjCurrency));
Примерно так, если вы в регулярном выражении, не уверены в точном синтаксисе для замены tho!
источник
Вы можете попробовать NumberFormatter .
Он также поддерживает различные локали, в том числе, конечно, США.
Вот очень упрощенный пример того, как его использовать:
Вывод:
источник
Это не JQuery, но у меня работает. Взято с этого сайта .
источник
Используйте функцию Number ();
источник
2016 Ответ:
Javascript имеет эту функцию, поэтому нет необходимости в Jquery.
источник
Более тщательное решение
Суть этого
replace
звонка. До сих пор я не думаю, что какое-либо из предложенных решений обрабатывает все следующие случаи:1000 => '1,000'
'1000' => '1,000'
10000.00 => '10,000.00'
'01000.00 => '1,000.00'
'1000.00000' => '1,000.00000'
-
или+
:'-1000.0000' => '-1,000.000'
'1000k' => '1000k'
Следующая функция выполняет все вышеперечисленное.
Вы можете использовать его в плагине jQuery следующим образом:
источник
Вы также можете посмотреть на плагин FormatCurrency jquery (автором которого я являюсь); он также поддерживает несколько локалей, но может иметь дополнительную поддержку поддержки валюты, которая вам не нужна.
источник
Вот мой javascript, протестированный только на Firefox и Chrome
источник
Очень простой способ - использовать
toLocaleString()
функциюисточник
Вы можете попробовать это, это работает для меня
источник