반응형
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
해당 방법에 대한 설명은 아래의 사이트에 자세히 나와있다.
요약해서 정리하자면 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
'Javascript' 카테고리의 다른 글
변수 선언 차이 var, let, const (0) | 2022.08.08 |
---|---|
chartjs 속도 이슈 개선 방법들 (0) | 2022.06.21 |
IE로 접속 시 edge로 이동 (0) | 2022.05.27 |
웹에서 svg를 excel에 저장하는 방법 (0) | 2022.05.26 |
천단위 콤마 처리(브라우저 호환성 포함) (0) | 2022.05.14 |
댓글