파크로그

Intl.NumberFormat, Number.prototype.toLocaleString

자주 사용하는 Number with comma 

 

만약 10000 이라면 10,000 으로 사용할 수 있도록 하는 util 함수를 만들어 사용하곤 했다.

이 함수를 만들기 위해서 Number.prototype.toLocaleString 을 썼었는데, 오늘 다시 number with comma 에 대해서 검색해보다

내장 객체인 Intl.NumberFormat 에 대해서 알게됐다.

 

알고보니 Number.prototype.toLocaleString 이 단순히 Intl.NumberFormat 을 호출하는 메서드라고 한다.

만약 number 가 큰 경우는 Performance 상으로 Intl.NumberType 을 쓰는게 더 낫다고 한다. Intl.NumberFormat 을 쓰려면 NumberFormat 함수를 호출한 이후 또 format 함수를 호출해야 하므로 간단히 사용할 때에는 toLocalString 을 쓰는게 편리하지만, 만약 큰 number 를 사용할 여지가 있다면 Intl.NumberFormat().format 을 쓰는게 낫다고 한다.

 

여기서 궁금했던 점은 큰 number 의 기준이 어느정도냐는 것 인데, 간단히 테스트해보았을 때에는 유의미한 비교값이 나오지 않았다.

비슷한 생각을 갖고 있는 사람이 있었는지 벤치마크 를 해본 시도도 보이나 뚜렷한 결과를 찾아보긴 힘들었고, 둘중 뭘 쓸것인지에 대해서는 읽기 쉬운걸로 팀이 정해서 쓰는 것이 낫다는 의견도 있었다.

profile

파크로그

@파크park

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!