Javascript
[javascript ]천단위 콤마(소수점 포함)
하이바네
2022. 6. 15. 10:42
반응형
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