money_format

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

money_format�����ָ�ʽ���ɻ����ַ���

˵��

money_format ( string $format , float $number ) : string

money_format() ���ظ�ʽ���õ� number �汾�� �˺�����װ�� C �������е� strfmon()����֮ͬ���ǣ���ʵ��ÿ��ֻ��ת��һ�����֡�

����

format

��ʽ�ַ��������¼�������ɣ�

  • ���� % �ַ�

  • ��ѡ�ı�ǣ�flags��

  • ��ѡ���ֶο��

  • ��ѡ�ģ���ྫ��

  • ��ѡ�ģ��Ҳྫ��

  • ��ѡ�ģ�����ת���ַ�

���(Flags)

��ѡ�����ǣ��ֱ��ǣ�

=f

�ַ���=��������һ���ַ������ֽڣ� f������������䡣Ĭ�ϵ�����ַ��ǿո�

^

���÷����ַ����������еĶ��š��ڱ����������� locale �ж��壩��

+ or (

�������ֵĸ�ʽ��ʹ�� +����ʹ���������ã�locale�����൱�� + �� - �ķ��š� ���ʹ�� (����������Բ����Χ�ơ������õĻ���Ĭ��Ϊ +��

!

��������ҷ��ţ����� ������

-

��������ŵ�ʱ�򣬽�ʹ�ֶ�����루��䵽�ұߣ���Ĭ�����෴�ģ����Ҷ���ģ���䵽��ߣ���

�ֶο��

w

ʮ������ֵ�ַ����Ŀ�ȡ��ֶν��Ҷ��룬����ʹ���� - ��ǡ�Ĭ��ֵ 0��

��ྫ��

#n

С���ַ�������С���㣩ǰ�����λ�� (n)�� ������ͬһ���еĸ�ʽ���롣 ���λ��С�� n ��ʹ������ַ������� ���ʵ��λ������ n�������ý������ԡ�

���û�� ^ ��ʶ���÷��飬����ָ��������������ַ�֮ǰ���루����еĻ����� ����ָ�������Ӧ�õ�����ַ����������ַ��Ǹ����֡�

Ϊ�˱�֤���룬������֮ǰ����֮����ַ�����������Ҫ�Ŀո񣬱�֤��������³��ȶ�һ����

�Ҳྫ��

.p

С������һ������ (p)�� ��� p ��ֵ�� 0���㣩��С�����Ҳ����ֵ����ɾ���� �����ʹ�������ǣ�Ĭ��չ��ȡ���ڵ�ǰ���������á� С�����ָ��λ�������֣����������ʽ����

ת���ַ�

i

���ݹ��ʻ����������еĻ��Ҹ�ʽ����ʽ����ֵ�������磬locale �� USA��USD 1,234.56����

n

���ݹ��ʻ����������й��ҵĻ��Ҹ�ʽ����ʽ����ֵ�������磬locale �� de_DE��EU1.234,56����

%

�����ַ� %��

number

��Ҫ��ʽ�������֡�

����ֵ

���ظ�ʽ������ַ�����ʽ�ַ���ǰ����ַ���ԭ�ⲻ�����ء� ����� number ����������֣������� NULL ���Ҳ��� E_WARNING��

ע��

Note:

���� strfmon ��ϵͳ���� money_format() ������ ���� Windows ���߱������� Windows ϵͳ�� money_format() δ���塣

Note:

locale �����У� LC_MONETARY ��Ӱ��˺�������Ϊ�� ��ʹ�ú���ǰ������Ҫ�� setlocale() �����ú��ʵ��������ã�locale����

����

Example #1 money_format() ����

ʹ�ò�ͬ�� locale �͸�ʽ�ַ�������˵���˺������÷���

<?php

$number 
1234.56;

// �����Ǵ�ӡ en_US locale �Ĺ��ʻ���ʽ
setlocale(LC_MONETARY'en_US');
echo 
money_format('%i'$number) . "\n";
// USD 1,234.56

// ��������ҵĸ�ʽ������λ����С��`
setlocale(LC_MONETARY'it_IT');
echo 
money_format('%.2n'$number) . "\n";
// Eu 1.234,56

// ������ʹ��
$number = -1234.5672;

// �������ҵĸ�ʽ��ʹ��Բ���� () ��Ǹ�����
// ��ྫ��ʹ��ʮλ
setlocale(LC_MONETARY'en_US');
echo 
money_format('%(#10n'$number) . "\n";
// ($        1,234.57)

// ���Ƶĸ�ʽ��������Ҳ���λС����ľ��ȣ�ͬʱ�� * �����
echo money_format('%=*(#10.2n'$number) . "\n";
// ($********1,234.57)

// ����������룬14λ������λ���Ҳ���λ�����������ַ�
// de_DE �Ĺ��ʻ���ʽ
setlocale(LC_MONETARY'de_DE');
echo 
money_format('%=*^-14#8.2i'1234.56) . "\n";
// Eu 1234,56****

// �������ڸ�ʽ�ַ���ǰ�����һЩ���
setlocale(LC_MONETARY'en_GB');
$fmt 'The final value is %i (after a 10%% discount)';
echo 
money_format($fmt1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

�μ�

  • setlocale() - ���õ�����Ϣ
  • sscanf() - ����ָ����ʽ����������ַ�
  • sprintf() - Return a formatted string
  • printf() - �����ʽ���ַ���
  • number_format() - ��ǧλ�ָ�����ʽ��ʽ��һ������