Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP money_format() 함수 완벽 정리 – 숫자를 통화 형식으로 변환하는 방법

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()로 로케일을 먼저 설정해야 원하는 국가의 통화 형식이 적용된다는 점을 꼭 기억하세요.