본문 바로가기
Javascript

[javascript ]천단위 콤마(소수점 포함)

by 하이바네 2022. 6. 15.
반응형

javascript에서 천단위 콤마를 하기 위해서는 일반적으로 replace를 사용하며, 다른 방법으로는 toLocaleString을 사용하는 방법도 있다.

 

먼저 replace에 대해서 보겠다.

 

1. replace(정규식 사용)

const ori_val = 12345.6789;
const changed_val = ori_val.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",");

 

위의 정규식을 사용하게되면 결과는 '12,345.6789' 값이 나올 것이다.

 

2. toLocaleString

해당 방법에 대한 설명은 아래의 사이트에 자세히 나와있다.

 

Number.prototype.toLocaleString() - JavaScript | MDN

The toLocaleString() method returns a string with a language-sensitive representation of this number.

developer.mozilla.org

 

 

요약해서 정리하자면 ie에서는 toLocaleString메서드에 파라미터가 지원되지 않는다.

 

예제 소스는 아래와 같다.

 

const ori_val = 12345.6789;
const changed_val = ori_val.toLocaleString()

 

 

정규식에 아직까지도 익숙해지지 않아 개인적으로 toLocaleString을 사용하는게 너무 편하다.

 

 

ie만 아니면 파라미터를 넣을 수 있고 거기에는 소수점 자리수에 대한 옵션도 있다. 위에 걸은 링크를 보시면 자세한 옵션들을 확인 가능하다. (maximumFractionDigits의 값은 3이 default)

const ori_val = 12345.6789;
const changed_val = ori_val.toLocaleString('ko-KR', {maximumFractionDigits: 4});

 

728x90

댓글