PHP의 money_format() 함수는 숫자를 지정된 로케일(locale)에 맞는 통화 문자열로 형식화하는 함수입니다. 형식화에 성공하면 결과 문자열을 반환하고, 실패하면 NULL을 반환합니다.
참고: 이 함수는 PHP 7.4.0부터 폐기(deprecated)되었으며, PHP 8.0.0에서 완전히 제거되었습니다. 최신 프로젝트에서는 NumberFormatter(intl 확장 모듈) 또는 number_format() 함수를 사용하는 것이 좋습니다.
문법(Syntax)
money_format ( format , number )
매개변수(Parameters)
format − 형식화 방법을 지정하는 문자열입니다.
%기호와 함께 다양한 변환 지정자(예:n,i)를 조합하여 통화 표시 형태를 정의합니다.number − 형식 문자열 내
%기호 위치에 삽입될 숫자입니다.
반환값(Return)
형식화된 통화 문자열을 반환하며, 실패 시 NULL을 반환합니다.
예제 1: 독일어 로케일(de_DE)
<?php
$input = 1000.56;
setlocale(LC_MONETARY, "de_DE");
echo money_format("%.2n", $input);
?>출력 결과
1000.56
독일 로케일에서는 소수점 구분자로 쉼표를 사용하지만, 위 예제에서는 서버 환경에 따라 출력이 달라질 수 있습니다.
예제 2: 이탈리아어 로케일(it_IT)
<?php
$number = 3825.91;
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
?>출력 결과
3825.91
format 지정자 활용 팁
%.2n− 국가별 통화 형식으로 소수점 둘째 자리까지 표시합니다.%.2i− 국제 통화 형식(ISO 4217 코드 포함)으로 표시합니다.%+.2n− 부호(+/-)를 함께 표시합니다.
setlocale()로 로케일을 먼저 설정해야 원하는 국가의 통화 형식이 적용된다는 점을 꼭 기억하세요.