3자리 마다 쉼표만 찍어주는 number_format 함수

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

php에는 number_format 함수가 있어서 숫자의 3자리 마다 쉼표를 찍어줄때 참 편하다.그리고 해당 함수는 주는 옵션에 따라 쉼표의 위치나 소수점 조절까지 가능 하다.
그리고 그와 거이 유사한 기능을 하는 javascript 내장 함수는 없고.... 만들어 놓은것들은 찾아보면 많던데, 기능도 유사하다 보니, 필자처럼.. 사실 3자리마다 점만 찍어주는 기능 외엔 거이 쓸일이 없는 사람한텐 거추장 스럽기만 했다.

그래서 간단히 3자리 마다 쉼표만 찍어주는 함수를 만들어 봤다.

<script>
function number_format( number )
{
  var nArr = String(number).split('').join(',').split('');
  for( var i=nArr.length-1, j=1; i>=0; i--, j++)  if( j%6 != 0 && j%2 == 0) nArr[i] = '';
  return nArr.join('');
}
</script>

함수의 원리를 간단히 설명 하자면, split()와 join() 함수를 이용해서 들어온 숫자의 각 자리에 모두 쉼표를 찍어준 뒤에 3번째 자리를 제외한 나머지 부분에는 전부 제거해준 거다.

뭐, 다른 방식으로 사용한다면 알아서 수정 하길 바란다.

//------------------추가 2014.11.27

<script>
String.prototype.number_format = function() { return this.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,'); }; 
alert( String("12345698765").number_format());
</script>