money_format - 숫자를 통화 문자열로 형식 지정합니다. 정보
PHP money_format - 숫자를 통화 문자열로 형식 지정합니다.본문
money_format - 숫자를 통화 문자열로 형식 지정합니다.
설명 ¶
string money_format ( string $format , float $number )
money_format () 은의 형식화 된 버전을 반환합니다 number. 이 함수는 C 라이브러리 함수 strfmon ()을 래핑합니다. 단,이 구현은 한 번에 하나의 숫자 만 변환합니다.
매개 변수 ¶
format
형식 스펙은 다음 순서로 구성됩니다.
%의 문자
선택적 플래그
선택적 필드 너비
왼쪽 정밀도 옵션
선택적 정밀도
필요한 변환 문자
국기
아래의 옵션 플래그 중 하나 이상을 사용할 수 있습니다.
= f
문자 = 다음에 (1 바이트) 문자 f 가 숫자 채우기 문자로 사용됩니다. 기본 채우기 문자는 공백입니다.
그룹화 문자 (현재 로켈에 정의 된대로)의 사용을 비활성화합니다.
+ 또는 (
양수와 음수의 서식 스타일을 지정하십시오. 경우 +가 사용되며, 로케일의 동등한 + 와 -가 사용됩니다. 경우 (이 사용되며, 부정적인 금액은 괄호 안에 있습니다. 어떤 사양을 지정하지 않으면, 기본값은 + .
!
출력 문자열에서 통화 기호를 표시하지 않습니다.
-
이 필드가 있으면 필드의 오른쪽 정렬 (왼쪽에 채워짐)을위한 기본값 대신 모든 필드를 왼쪽 정렬 (오른쪽에 채워짐)하게 만듭니다.
필드 너비
w
최소 필드 폭을 지정하는 10 진수 문자열입니다. 플래그가없는 한 필드 오른쪽 정렬됩니다 - 사용된다. 기본값은 0입니다.
왼쪽 정밀도
# n
소수점 왼쪽에 예상되는 최대 자릿수 ( n ) (예 : 소수점). 대개 숫자가 n 보다 작은 경우 채우기 문자를 사용하여 동일한 열에 서식이 지정된 출력을 정렬하는 데 사용됩니다 . 실제 자릿수가 n 보다 크면 이 지정은 무시됩니다.
^ 플래그 를 사용하여 그룹화가 억제되지 않은 경우 그룹화 구분 기호는 채우기 문자 (있는 경우)가 추가되기 전에 삽입됩니다. 채우기 문자가 숫자 인 경우에도 구분 기호 그룹화는 문자 채우기에 적용되지 않습니다.
정렬을 위해 통화 나 기호와 같이 서식이 지정된 출력 앞뒤에 나타나는 문자에는 필요에 따라 공백 문자를 사용하여 양수 형식과 음수 형식을 동일한 길이로 채 웁니다.
정확한 정밀도
. 피
마침표 다음에 소수점 이하 자릿수 ( p )가옵니다. p 의 값 이 0 (영) 인 경우 소수점 자릿수와 오른쪽 자릿수는 생략됩니다. 정확한 정밀도가 포함되지 않은 경우 기본값은 사용중인 현재 로컬에 의해 결정됩니다. 서식이 지정되는 양은 서식 지정 전에 지정된 자릿수로 반올림됩니다.
변환 문자
나는
이 숫자는 로켈의 국제 통화 형식 (예 : 미국 로캘의 경우 : USD 1,234.56)에 따라 형식이 지정됩니다.
엔
이 숫자는 로캘의 국가 별 통화 형식에 따라 형식이 지정됩니다 (예 : de_DE 로캘의 경우 : EU1.234,56).
%
% 문자를 반환합니다 .
number
형식을 지정할 숫자입니다.
반환 값 ¶
형식화 된 문자열을 리턴합니다. 서식 지정 문자열 앞뒤의 문자는 변경되지 않고 반환됩니다. number반환 NULL및 방출하는 숫자 가 아닌 원인 E_WARNING.
Example # 1 money_format () 예제
이 기능의 사용법을 설명하기 위해 다양한 로케일과 형식 사양을 사용합니다.
<?php
$number = 1234.56;
// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56
// Italian national format with 2 decimals`
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56
// Using a negative number
$number = -1234.5672;
// US national format, using () for negative numbers
// and 10 digits for left precision
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)
// Similar format as above, adding the use of 2 digits of right
// precision and '*' as a fill character
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)
// Let's justify to the left, with 14 positions of width, 8 digits of
// left precision, 2 of right precision, withouth grouping character
// and using the international format for the de_DE locale.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****
// Let's add some blurb before and after the conversion specification
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is GBP 1,234.56 (after a 10% discount)
?>
0
댓글 0개