현재 위치: > 최신 기사 목록> Money_format로 소수점으로 화폐 값을 포맷하는 방법은 무엇입니까? 실용 가이드

Money_format로 소수점으로 화폐 값을 포맷하는 방법은 무엇입니까? 실용 가이드

M66 2025-06-22

1. Money_format이란 무엇입니까?

Money_format () 는 현재 로케일 (지역 설정)을 사용하여 숫자를 통화 문자열로 포맷하는 함수입니다. 구문은 다음과 같습니다.

 string money_format ( string $format , float $number )

안에:

  • $ 형식은 sprintf () 에 사용 된 형식과 유사한 형식 제어 문자열입니다.

  • $ 숫자는 포맷하려는 숫자 (금액)입니다.


2. 올바른 로케일 설정 (현지화)

Money_format () 가 올바르게 작동하려면 먼저 현지화 환경을 설정해야합니다. setlocale () 함수를 사용하여 설정할 수 있습니다. 예를 들어, 미국 지역의 현지 형식으로 설정하십시오.

 setlocale(LC_MONETARY, 'en_US.UTF-8');

다른 시스템 (특히 Windows 및 Linux)은 로케일을 다르게 지원하므로 해당 언어 팩을 설치해야 할 수도 있습니다.


3. 소수점과 함께 통화를 형식화하십시오

다음은 서식 금액의 전체 예입니다.

 setlocale(LC_MONETARY, 'en_US.UTF-8');

$amount = 1234.56;
echo money_format('%.2n', $amount);

출력은 다음과 같습니다.

 $1,234.56

안에:

  • '%.2n'은 소수점을 사용한 후 두 자리의 통화 형식이 유지됨을 의미합니다.

  • n은 로케일로 정의 된 통화 형식 유형입니다.

  • .2 소수점 후 숫자 수를 지정합니다.


4. 다국어 통화 디스플레이를 지원합니다

사용자 언어에 따라 다양한 형식의 양을 동적으로 표시하려면 setLocale () 와 함께 동적으로 설정할 수 있습니다.

 $amount = 9876.54;

setlocale(LC_MONETARY, 'de_DE.UTF-8');
echo "독일 형식: " . money_format('%.2n', $amount) . "\n";

setlocale(LC_MONETARY, 'fr_FR.UTF-8');
echo "프랑스 형식: " . money_format('%.2n', $amount) . "\n";

산출:

 독일 형식: 9.876,54 €
프랑스 형식: 9 876,54 €

이것은 국제 웹 사이트 (예 : https://m66.net/ecommerce/intl-support)에서 매우 실용적입니다.


V. 대체 솔루션 (PHP 8.0 이상에 적용 가능)

앞에서 언급했듯이 Money_format ()는 PHP 8에서 제거되었습니다. 새 버전의 PHP를 사용하는 경우 NumberFormatter ( Intl Extension에서)를 대신 사용하는 것이 좋습니다.

 $amount = 5678.90;

$fmt = new \NumberFormatter('en_US', \NumberFormatter::CURRENCY);
echo $fmt->formatCurrency($amount, 'USD');

산출:

 $5,678.90

Numberformatter를 사용하는 것은 새로운 버전과 호환 될뿐만 아니라 국제 지원을 강력하게 제공하며 생산 환경에 적합합니다.