CakeFest 2024: The Official CakePHP Conference

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 Международное обозначение валюты (например, RUB)
currency_symbol Национальное обозначение валюты (например, руб)
mon_decimal_point Символ десятичной точки в денежном формате
mon_thousands_sep Разделитель групп в денежном формате
mon_grouping Массив, содержащий количества цифр в группах для денежных данных
positive_sign Знак для положительных чисел
negative_sign Знак для отрицательных чисел
int_frac_digits Число разрядов после точки (международное)
frac_digits Число разрядов после точки (национальное)
p_cs_precedes true, если currency_symbol записывается перед положительным значением, иначе false
p_sep_by_space true, если currency_symbol отделяется от положительного значения пробелом, иначе false
n_cs_precedes true, если currency_symbol записывается перед отрицательным значением, иначе false
n_sep_by_space true, если currency_symbol отделяется от отрицательного значения пробелом, иначе false
p_sign_posn Для положительных чисел:
  • 0 - Число и обозначение валюты заключаются в скобки
  • 1 - Знак записывается перед числом и обозначением валюты
  • 2 - Знак записывается после числа и обозначения валюты
  • 3 - Знак записывается перед обозначением валюты
  • 4 - Знак записывается после обозначения валюты
n_sign_posn Для отрицательных чисел:
  • 0 - Число и обозначение валюты заключаются в скобки
  • 1 - Знак записывается перед числом и обозначением валюты
  • 2 - Знак записывается после числа и обозначения валюты
  • 3 - Знак записывается перед обозначением валюты
  • 4 - Знак записывается после обозначения валюты

p_sign_posn и n_sign_posn содержат строку с опциями форматирования. Каждое число представляет собой одно из вышеперечисленных условий.

Элементы группировки содержат массивы, которые описывают способ группировки цифр. Например, поле группировки денежных величин в локали nl_NL (в режиме UTF-8 со знаком евро) содержит массив из двух элементов со значениями 3 и 3. Больший индекс массива соответствует группировке цифр, расположенных левее. Если элемент массива равен CHAR_MAX, последующие цифры не группируются. Если элемент массива равен 0, используется значение предыдущего элемента.

Примеры

Пример #1 Пример использования localeconv()

<?php
if (false !== setlocale(LC_ALL, 'ru_RU.UTF-8')) {
$locale_info = localeconv();
print_r($locale_info);
}
?>

Результат выполнения приведённого примера:

Array
(
    [decimal_point] => ,
    [thousands_sep] =>
    [int_curr_symbol] => RUB
    [currency_symbol] => руб
    [mon_decimal_point] => .
    [mon_thousands_sep] =>
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 0
    [p_sep_by_space] => 1
    [n_cs_precedes] => 0
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 1
    [grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Смотрите также

  • setlocale() - Устанавливает региональные настройки

add a note

User Contributed Notes 1 note

up
2
verdy_p at wanadoo dot fr
22 years ago
The C99 standard modified slightly the definition of the international currency symbol, which is now 4 characters long instead of 3 in previous definitions. The fourth character will most often be an ASCII space, but its effective value is the locale-specific spacing character used for numeric grouping (i.e. the one refered by [sep_by_space] and [grouping])...
To Top