티스토리 뷰

고등학생 시절, 웹을 공부하던 필자는 PHP의 number_format 함수에 대해서 알게 되었다.

number_format 함수는 다시 말해, 10000 이라는 숫자값이 있다면, 10,000 이라고 변환을 시켜주는 함수였다.

 

이와 같은 숫자 표시 문제가 대회 문제에 출제가 되었는데, PHP에서는 number_format 함수만 사용하면 손쉽게 끝날 일이지만 Javascript는 도무지 number_format 같은 함수를 찾아볼 수 없었다.

그래서 필자는 정규식으로 숫자를 3단위로 끊어서 콤마를 찍는 아래와 같은 방식을 채택했다.

result = subject.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");

하지만 더욱 간단한 방법이 있다.

var result = 1000000;
result.toLocaleString();

숫자 타입 변수를 문자열로 바꿔주는 toLocaleString 메소드를 이용하는 것이다.

toLocaleString 메소드는 숫자 타입이 아닌 다른 변수 타입에도 존재하는데, 해당 타입의 데이터를 일정한 양식에 맞게 string 타입으로 변경해주는 메소드이다.

 

숫자 타입에서 toLocaleString을 사용하면 평범한 숫자에 콤마가 찍혀서 반환된다.

LIST