PHP定义和用法localeconv() 函数返回包含本地数字及货币信息格式的数组。
localeconv() 函数返回以下数组元素:
[decimal_point] - 小数点字符 [thousands_sep] - 千位分隔符 [int_curr_symbol] - 货币符号 (例如:USD) [currency_symbol] - 货币符号 (例如:$)[mon_decimal_point] - 货币小数点符号 [mon_thousands_sep] - 货币千位分隔符 [positive_sign] - 正值符号 [negative_sign] - 负值符号 [int_frac_digits] - 国际小数数字 [frac_digits] - 本地小数数字 [p_cs_precedes] - if 如果货币符号在正值之前,则是 True (1),否则是 False (0)。 [p_sep_by_space] - True (1) 如果货币符号与正值之间有空间,则是 True (1),否则是 False (0)。 [n_cs_precedes] - True (1) if 货币符号在负值之前,则是 True (1),否则是 False (0)。[p_sep_by_space] - True (1) 如果货币符号与负值之间有空间,则是 True (1),否则是 False (0)。 [p_sign_posn] - 格式化选项:0 - 在数量和货币符号周围的圆括号 1 - 数量和货币符号之前的 + 号 2 - 数量和货币符号之后的 + 号 3 - 货币符号之前的 + 号 4 - 货币符号之后的 + 号[n_sign_posn] - 格式化选项:0 - 在数量和货币符号周围的圆括号 1 - 数量和货币符号之前的 - 号 2 - 数量和货币符号之后的 - 号 3 - 货币符号之前的 - 号 4 - 货币符号之后的 - 号[grouping] - 显示如何分组数字的 Array(例如:3 指示 1 000 000) [mon_grouping] - 显示如何分组货币数字的 Array(例如:2 指示 1 00 00 00)语法localeconv()
提示和注释提示:如需定义本地设置,请使用 setlocale() 函数。例子在本例中,我们将获得美国本地的数字格式化信息:
<?php
setlocale(LC_ALL, 'US');
$locale_info = localeconv();
print_r($locale_info);
?>
输出:
Array ( [decimal_point] => . [thousands_sep] => , [int_curr_symbol] => USD [currency_symbol] => $ [mon_decimal_point] => . [mon_thousands_sep] => , [positive_sign] => [negative_sign] => - [int_frac_digits] => 2 [frac_digits] => 2 [p_cs_precedes] => 1 [p_sep_by_space] => 0 [n_cs_precedes] => 1 [n_sep_by_space] => 0 [p_sign_posn] => 3 [n_sign_posn] => 0 [grouping] => Array ([0] => 3) [mon_grouping] => Array ([0] => 3) )
PHP String 函数
C语言函数函数简介函数功能:返回当前地域设置的信息
函数原型:struct lconv *localeconv( void );
库文件:locale.h
相关函数:setlocale、_wsetlocale
返回值说明:
从函数原型上可以看出,该函数返回一个指向struct lconv 类型结构体的指针,这个结构体在locale.h头文件下定义,如下:
struct lconv {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
};程序示例#include <stdio.h>
#include <locale.h>
int main ( void )
{
struct lconv * lc;
setlocale(LC_ALL,""); // 也可写作:setlocale(LC_ALL,"Chinese"); 如果将“Chinese”改为“English”,那么就输出美元符了。
lc=localeconv();
printf("%s
",lc->currency_symbol);
return 0;
}