localeconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

localeconv获取数字格式信息

描述

localeconv(): array

返回一个关联数组,其中包含本地化的数字和货币格式信息。

参数

此函数没有参数。

返回值

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
  • 0 - 括号包围数量和货币符号
  • 1 - 符号字符串位于数量和货币符号之前
  • 2 - 符号字符串位于数量和货币符号之后
  • 3 - 符号字符串紧接在货币符号之前
  • 4 - 符号字符串紧接在货币符号之后
n_sign_posn
  • 0 - 括号包围数量和货币符号
  • 1 - 符号字符串位于数量和货币符号之前
  • 2 - 符号字符串位于数量和货币符号之后
  • 3 - 符号字符串紧接在货币符号之前
  • 4 - 符号字符串紧接在货币符号之后

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
        )

)

参见

添加笔记

用户贡献笔记 1 note

verdy_p at wanadoo dot fr
23 年前
C99 标准略微修改了国际货币符号的定义,它现在是 4 个字符长,而不是以前定义中的 3 个字符。第四个字符通常是一个 ASCII 空格,但它的有效值是用于数字分组的特定于区域设置的空格字符(即 [sep_by_space] 和 [grouping] 所指的字符)...
To Top