Nice programing

jQuery의 숫자에 쉼표 추가

nicepro 2020. 9. 25. 23:36
반응형

jQuery의 숫자에 쉼표 추가


이 번호가 있습니다

109998094456

그리고 내가하고 싶은 것은 필요한 경우 올바른 위치에 쉼표를 추가하는 것뿐입니다.

10,9998,094456

이것들은 모두 이와 같은 ap 태그 내에 있습니다 <p class="points">10999</p>.

할 수 있습니까?

나는 다른 게시물 http://jsfiddle.net/pdWTU/1/ 의 도움으로 여기에서 시도했지만 작동하지 않는 것 같습니다.

감사

제이미

최신 정보

약간 혼란스러워서 여기 http://jsfiddle.net/W5jwY/1/

더 나은 방법을 위해 새로운 Globalization 플러그인을 살펴 보겠습니다.

감사

제이미


모든 브라우저에서 작동하며 이것이 필요한 전부입니다.

  function commaSeparateNumber(val){
    while (/(\d+)(\d{3})/.test(val.toString())){
      val = val.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
    }
    return val;
  }

정규식 덕분에 간결하고 요점을 썼습니다. 이것은 직선 JS이지만 다음과 같이 jQuery에서 사용할 수 있습니다.

$('#elementID').html(commaSeparateNumber(1234567890));

또는

$('#inputID').val(commaSeparateNumber(1234567890));

Number(10000).toLocaleString('en');  // "10,000"

Timothy Pirez 대답은 매우 정확했지만 사용자가 텍스트 필드에 입력 할 때 즉시 숫자를 쉼표로 바꿔야하는 경우 키업 기능을 사용할 수 있습니다.

      $('#textfield').live('keyup', function (event) {
        var value=$('#textfield').val();

      if(event.which >= 37 && event.which <= 40){
          event.preventDefault();
      }
      var newvalue=value.replace(/,/g, '');   
      var valuewithcomma=Number(newvalue).toLocaleString('en');   
      $('#textfield').val(valuewithcomma); 

      });

    <form><input type="text" id="textfield" ></form>

최근에 출시 된 Microsoft의 jQuery에 대한 글로벌화 플러그인 살펴보기


Numeral.js를 살펴 보십시오 . 숫자, 통화, 백분율의 형식을 지정할 수 있으며 현지화를 지원합니다.


    function delimitNumbers(str) {
      return (str + "").replace(/\b(\d+)((\.\d+)*)\b/g, function(a, b, c) {
        return (b.charAt(0) > 0 && !(c || ".").lastIndexOf(".") ? b.replace(/(\d)(?=(\d{3})+$)/g, "$1,") : b) + c;
      });
    }

    alert(delimitNumbers(1234567890));

나는 당신이 일종의 현지화를하고 있다고 생각 하므로이 스크립트를 살펴보십시오 .


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString 에서 toLocaleString 참조 사용

function formatComma(value, sep = 0) {
      return Number(value).toLocaleString("ja-JP", { style: "currency", currency: "JPY", minimumFractionDigits: sep });
    }
console.log(formatComma(123456789, 2)); // ¥123,456,789.00
console.log(formatComma(123456789, 0)); // ¥123,456,789
console.log(formatComma(1234, 0)); // ¥1,234


또 다른 접근 방식 :

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;
}
var a  = addCommas(10000.00);
alert(a);

또 다른 놀라운 플러그인 : http://www.teamdf.com/web/jquery-number-format/178/


이를 수행하는 또 다른 방법 :

function addCommas(n){
  var s = "",
      r;

  while (n) {
    r = n % 1000;
    s = r + s;
    n = (n - r)/1000;
    s = (n ? "," : "") + s;
  }

  return s;
}

alert(addCommas(12345678));

Here is my coffeescript version of @baacke's fiddle provided in a comment to @Timothy Perez

class Helpers
    @intComma: (number) ->
        # remove any existing commas
        comma = /,/g
        val = number.toString().replace comma, ''

        # separate the decimals
        valSplit = val.split '.'

        integer = valSplit[0].toString()
        expression = /(\d+)(\d{3})/
        while expression.test(integer)
            withComma = "$1,$2"
            integer = integer.toString().replace expression, withComma

        # recombine with decimals if any
        val = integer
        if valSplit.length == 2
            val = "#{val}.#{valSplit[1]}"

        return val

참고URL : https://stackoverflow.com/questions/3883342/add-commas-to-a-number-in-jquery

반응형