[jquery] 세 자리 숫자마다 쉼표를 추가하십시오

jQuery를 사용하여 세 자리마다 쉼표 구분 기호를 사용하여 숫자의 서식을 지정하려면 어떻게합니까?

예를 들면 다음과 같습니다.

╔═══════════╦═════════════╗
║   Input   ║   Output    ║
╠═══════════╬═════════════╣
║       298 ║         298 ║
║      2984 ║       2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝



답변

@Paul Creasey는 정규식으로 가장 간단한 솔루션을 제공했지만 여기에는 간단한 jQuery 플러그인이 있습니다.

$.fn.digits = function(){
    return this.each(function(){
        $(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
    })
}

그런 다음 다음과 같이 사용할 수 있습니다.

$("span.numbers").digits();


답변

당신은 사용할 수 있습니다 Number.toLocaleString():

var number = 1557564534;
document.body.innerHTML = number.toLocaleString();
// 1,557,564,534


답변

정규 표현식을 사용하는 경우 이와 같은 것이 있습니다. 대체 tho의 정확한 구문을 모릅니다!

MyNumberAsString.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");


답변

NumberFormatter 시도해 볼 수 있습니다.

$(this).format({format:"#,###.00", locale:"us"});

또한 물론 미국을 포함한 다양한 로케일을 지원합니다.

사용 방법에 대한 매우 간단한 예는 다음과 같습니다.

<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="jquery.numberformatter.js"></script>
        <script>
        $(document).ready(function() {
            $(".numbers").each(function() {
                $(this).format({format:"#,###", locale:"us"});
            });
        });
        </script>
    </head>
    <body>
        <div class="numbers">1000</div>
        <div class="numbers">2000000</div>
    </body>
</html>

산출:

1,000
2,000,000


답변

이것은 jQuery가 아니지만 나를 위해 작동합니다. 이 사이트 에서 가져 왔습니다 .

function addCommas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}


답변

함수 사용 Number ();

$(function() {

  var price1 = 1000;
  var price2 = 500000;
  var price3 = 15245000;

  $("span#s1").html(Number(price1).toLocaleString('en'));
  $("span#s2").html(Number(price2).toLocaleString('en'));
  $("span#s3").html(Number(price3).toLocaleString('en'));

  console.log(Number(price).toLocaleString('en'));

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<span id="s1"></span><br />
<span id="s2"></span><br />
<span id="s3"></span><br />


답변

2016 년 답변 :

Javascript에는이 기능이 있으므로 Jquery가 필요하지 않습니다.

yournumber.toLocaleString("en");