PHP number_format 함수
숫자를 1000단위로 콤마를 표기해주는 함수이다. 주로 화폐단위 표기시 많이 사용된다.
예제1
$price = 100500;
echo number_format($price);
결과 : 100,500
예제2
$price = "-1000";
echo number_format($price);
결과 : -1000
echo number_format($price/1);
결과 : -1,000
예제이긴 하지만 DB에서 처리된 결과를 $price 변수에 대입한 경우인데 음수의 숫자가 의도하지 않게 문자열로 된 경우에 위와 같은 결과가 발생한다.
콤마 처리가 전혀 되지 않고 출력된다. 이런 경우엔 캐스팅해서 처리해도 되지만 /1 로 처리해서 넘기면 간단하다.
예제3
$price = 1500.2;
echo number_format($price);
결과 : 1,500
echo number_format($price, 1);
결과 : 1,500.2
echo number_format($price, 3);
결과 : 1,500.200
소숫점이 있는 경우인데 이런 경우에 그냥 number_format 함수를 사용하면 소숫점 자리는 사라져버리고 출력된다.
소숫점을 살릴려면 함수에 두번째 인자에 표현할 소숫점 자릿수를 입력하여야 한다.
number_format(숫자, 표현할 소숫점 자릿수)
알아서 표현해 주면 좋을텐데 좀 귀찮긴 하다.
예제4
$price = 12345.678;
echo number_format($price, 2, '.', ',');
결과 : 12,345.68
3번째 인자는 소숫점 표기 문자
4번째 인자는 천단위 표기 문자