숫자에 천단위 콤마를 찍어줘야할 때가 있다. 특히나 금액 같은 경우.. Strong Formatter 같은게 있다면 좋겠지만, 그런게 없다면 정규식으로 푸는게 가장 편할지 모르겠다.
Javascript용 콤마 찍는걸 찾아봤는데, Add commas에 따르면 라이브러리에는 없고 만들어서 써야 한다고 한다. 그런데 대부분의 예제가 while 문을 돌면서 하나씩 변환을 하는데, 아무리 숫자가 길어져도 얼마 안 될거라지만 이건 좀 -ㅅ-;;
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, ‘$1’ + ‘,’ + ‘$2’);
}
while (rgx.test(x1)) {
x1 = x1.replace(rgx, ‘$1’ + ‘,’ + ‘$2’);
}
조금 더 찾아보니 더 멋진게 나왔다. 이왕 정규식을 쓰려면 이렇게 해야지.. lookahead를 사용한 멋진 방법..
function addThousandSeparatorCommas(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ‘,’);
}
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ‘,’);
}