C99 标准略微修改了国际货币符号的定义,它现在是 4 个字符长,而不是以前定义中的 3 个字符。第四个字符通常是一个 ASCII 空格,但它的有效值是用于数字分组的特定于区域设置的空格字符(即 [sep_by_space] 和 [grouping] 所指的字符)...
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
localeconv — 获取数字格式信息
此函数没有参数。
localeconv() 返回基于 setlocale() 设置的当前区域设置的数据。返回的关联数组包含以下字段
数组元素 | 描述 |
---|---|
decimal_point | 小数点字符 |
thousands_sep | 千位分隔符 |
grouping | 包含数字分组的数组 |
int_curr_symbol | 国际货币符号(例如 USD) |
currency_symbol | 本地货币符号(例如 $) |
mon_decimal_point | 货币小数点字符 |
mon_thousands_sep | 货币千位分隔符 |
mon_grouping | 包含货币分组的数组 |
positive_sign | 正值符号 |
negative_sign | 负值符号 |
int_frac_digits | 国际小数位数 |
frac_digits | 本地小数位数 |
p_cs_precedes |
true 如果货币符号在正值之前,false 如果在正值之后 |
p_sep_by_space |
true 如果空格将货币符号与正值分隔开,false 否则 |
n_cs_precedes |
true 如果货币符号在负值之前,false 如果在负值之后 |
n_sep_by_space |
true 如果空格将货币符号与负值分隔开,false 否则 |
p_sign_posn |
|
n_sign_posn |
|
The p_sign_posn
, 和 n_sign_posn
包含一个格式化选项字符串。每个数字代表上面列出的条件之一。
分组字段包含定义数字分组方式的数组。例如,nl_NL 区域设置(在使用欧元符号的 UTF-8 模式下)的货币分组字段将包含一个具有 3 和 3 值的 2 元素数组。数组中越高的索引,分组越靠左。如果数组元素等于 CHAR_MAX
,则不再进行分组。如果数组元素等于 0,则应使用前一个元素。
示例 #1 localeconv() 示例
<?php
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
$locale_info = localeconv();
print_r($locale_info);
}
?>
上面的例子将输出
Array ( [decimal_point] => . [thousands_sep] => [int_curr_symbol] => EUR [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] => 1 [n_cs_precedes] => 1 [n_sep_by_space] => 1 [p_sign_posn] => 1 [n_sign_posn] => 2 [grouping] => Array ( ) [mon_grouping] => Array ( [0] => 3 [1] => 3 ) )
C99 标准略微修改了国际货币符号的定义,它现在是 4 个字符长,而不是以前定义中的 3 个字符。第四个字符通常是一个 ASCII 空格,但它的有效值是用于数字分组的特定于区域设置的空格字符(即 [sep_by_space] 和 [grouping] 所指的字符)...