localeconv() возвращает данные, основанные на текущей локали, установленной функцией setlocale(). Возвращаемый массив содержит следующие элементы:
decimal_point - Символ десятичной точки
thousands_sep - Разделитель групп
grouping - Массив, содержащий количества цифр в группах для числовых данных
int_curr_symbol - Международное обозначение валюты (например RUR)
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 Знак записывается после обозначения валюты
Элементы группировки описывают способ группировки цифр. Например, в локали en_US элемент grouping содержит массив из 2 элементов со значениями 3 и 3. Больший индек массива соответствует группировке цифр, расположенных левее. Если элемент массива равен CHAR_MAX, последующие цифры не группируются. Если элемент массива равен 0, используется значение предыдущего элемента.
Пример кода
<?php
setlocale(LC_ALL, "ru_RU");
$locale_info = localeconv();
echo "<pre>\n";
echo "----------------------------------------------\n";
echo "Информация о форматировании числовых величин: \n";
echo "----------------------------------------------\n\n";
echo "int_curr_symbol: {$locale_info["int_curr_symbol"]}\n";
echo "currency_symbol: {$locale_info["currency_symbol"]}\n";
echo "mon_decimal_point: {$locale_info["mon_decimal_point"]}\n";
echo "mon_thousands_sep: {$locale_info["mon_thousands_sep"]}\n";
echo "positive_sign: {$locale_info["positive_sign"]}\n";
echo "negative_sign: {$locale_info["negative_sign"]}\n";
echo "int_frac_digits: {$locale_info["int_frac_digits"]}\n";
echo "frac_digits: {$locale_info["frac_digits"]}\n";
echo "p_cs_precedes: {$locale_info["p_cs_precedes"]}\n";
echo "p_sep_by_space: {$locale_info["p_sep_by_space"]}\n";
echo "n_cs_precedes: {$locale_info["n_cs_precedes"]}\n";
echo "n_sep_by_space: {$locale_info["n_sep_by_space"]}\n";
echo "p_sign_posn: {$locale_info["p_sign_posn"]}\n";
echo "n_sign_posn: {$locale_info["n_sign_posn"]}\n";
echo "</pre>\n";
?>