숫자에 천단위로 콤마(,) 찍기 정보
JavaScript 숫자에 천단위로 콤마(,) 찍기본문
정규표현식을 이용하여 숫자에 천단위로 콤마를 삽입하는 실례입니다.
function numberWithCommas(x) {
    var parts = x.toString().split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return parts.join(".");
}
또는
// 숫자 타입에서 쓸 수 있도록 format() 함수 추가
Number.prototype.format = function(){
    if(this==0) return 0;
 
    var reg = /(^[+-]?\d+)(\d{3})/;
    var n = (this + '');
 
    while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2');
 
    return n;
};
console.log(Number(1234567).format()); // 1,234,567
개발에 좋은 팁이 되길 바랍니다,
!-->!-->
                        
                추천
                
2
                
    2
댓글 11개

                
                    new Intl.NumberFormat().format(1234567);
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
                    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
                
                    @jihan6? 자바스크립트에 디폴트 함수가 있었네요, 단, 브라우저를 좀 가리는듯합니다,.                
                
                
            
                    
                
                    @jihan6? 저 같은 경우에는 Intl 객체가 있으면 그걸 쓰고, 없는 환경에서만 fallback으로 쓰고 있습니다.                
                
                
            
                    
                
                    @SimpleCode polyfill 사용이 유용하죠.
https://formatjs.io/docs/polyfills/
                    https://formatjs.io/docs/polyfills/

                
                    @jihan6? 
우리나라 거는 없네요.
                    우리나라 거는 없네요.

                
                    @엑스엠엘 ???
const number = 123456.789;
console.log(new Intl.NumberFormat('ko-KR').format(number));
// 아무것도 지정하지 않으면 사용자 브라우저 설정에 따라 자동 처리
console.log(new Intl.NumberFormat().format(number));
                    const number = 123456.789;
console.log(new Intl.NumberFormat('ko-KR').format(number));
// 아무것도 지정하지 않으면 사용자 브라우저 설정에 따라 자동 처리
console.log(new Intl.NumberFormat().format(number));

                
                    @jihan? 
우리나라는 네 자리마다(만 단위) 끊어 줘야
읽기가 좋습니다.
                    우리나라는 네 자리마다(만 단위) 끊어 줘야
읽기가 좋습니다.

                
                    @엑스엠엘 
말씀하시는 “우리나라”가 어느 나라길래 네자리씩 끊죠?
const number = 123456.789
console.log(new Intl.NumberFormat('ko-KR').format(number));
console.log(new Intl.NumberFormat().format(number));
output
> "123,456.789"
> "123,456.789"
이것과 다르게 나오나요?
                    말씀하시는 “우리나라”가 어느 나라길래 네자리씩 끊죠?
const number = 123456.789
console.log(new Intl.NumberFormat('ko-KR').format(number));
console.log(new Intl.NumberFormat().format(number));
output
> "123,456.789"
> "123,456.789"
이것과 다르게 나오나요?

                
                    @jihan? 
표현이 좀 부족했네요.
우리나라 말에 맞은 표현(포맷)이라고 했어야 했네요.
                    표현이 좀 부족했네요.
우리나라 말에 맞은 표현(포맷)이라고 했어야 했네요.

                
                    그냥
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
이렇게만 해도 ...되지 않나요.
                    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
이렇게만 해도 ...되지 않나요.
신고가 접수된 글입니다.
신고 횟수가 1회 이상이면 글을 확인하지 못합니다.
                
                    감사합니다. 工作一结束手机就销毁。