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 |
|
p_sign_posn 和 n_sign_posn 包含格式选项字符串。每个数字代表上述条件之一。
grouping 字段包含定义数字分组方式的数组。例如,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] 引用的那个)……