money_format - 숫자를 통화 문자열로 형식 지정합니다. > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

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개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT