숫자를 다루다보면 숫자 3자리마다 콤마(,)를 찍어야 할 경우가 있습니다. 주로 화폐(ex \2,000 $3,000) 같은 경우가 그 예라고 할 수 있습니다. 이 때 숫자를 문자열로 변환 후 뒤에서 부터 3자리씩 문자열을 잘라서 그 사이에 콤마(,)를 삽입하는 방법이 있겠습니다.
//숫자 3자리마다 콤마(,) 삽입
function numberFormat($number)
{
//변수선언
$result = "";
$strLength = 0;
$comma_pos = 0;
if(!$number || $number == "" || $number == 0)
return;
$strLength = strlen($number);
$comma_pos = $strLength % 3;
for($i=0 ; $i<$strLength ; $i++)
{
if($i!=0 && $i%3 == $comma_pos) $result .= ",";
$result .= substr($number, $i, 1);
}
return $result;
}//numberFormat()-----------------
위의 함수가 바로 그 예입니다. 위 함수는 실제로 앞에서부터 콤마(,)를 찍어냅니다. 또한 시간복잡도에 의해 위 알고리즘은 O(n)을 가집니다. (참고하세요~ ^^) 하지만 PHP에서는 이러한 함수를 아래와 같이 제공합니다.
함수명 : number_format()
파라미터 : 정수데이터
결과값 : 콤마(,) 찍힌 문자열
예제)
$total_count = "1200";
echo number_format((int)$total_count);
출력결과 : 1,200
이 함수가 PHP 버전 몇 부터 지원되는지는 모르겠습니다. number_format() 함수를 사용해보시고 없으면 상단에 임의로 구현한 함수를 사용해보시기 바랍니다.
'PHP' 카테고리의 다른 글
PHP POST 방식에서 뒤로가기 지원하기 (0) | 2013.10.28 |
---|---|
PHP 세션(Session)을 사용할 수 없는 경우 (세션 생성 문제) (0) | 2013.10.17 |
PHP 해당 연,월에 대한 마지막 일자 구하기 (0) | 2013.10.04 |
PHP 에러메시지 출력 (소스코드로 에러 보이도록 설정하기) (0) | 2013.08.13 |
PHP 동일한 파라미터 받기 (ex 체크박스) (0) | 2013.08.08 |