Поделиться через


localeconv

Возвращает подробные сведения о параметрах языкового стандарта.

struct lconv *localeconv( void );

Возвращаемое значение

localeconv возвращает указатель на заполненный объект типа struct lconv. Значения, содержащиеся в объекте, могут быть перезаписаны последующими вызовами localeconv и не изменяют объект прямо. Вызовы setlocale со значениями category LC_ALL, LC_MONETARY или LC_NUMERIC перезаписывают содержимое структуры.

Заметки

Функция localeconv получает подробные сведения о форматировании чисел для текущего языкового стандарта. Эти сведения хранятся в структуре типа lconv. Структура lconv, определенная в LOCALE.H, содержит следующие элементы:

  • char *decimal_point, wchar_t *_W_decimal_point
    Символ десятичной запятой для не денежных значений.

  • char *thousands_sep, wchar_t *_W_thousands_sep
    Символ, который отделяет группы цифр слева от десятичной запятой для не денежных значений.

  • char *grouping
    Размер каждой группы цифр для не денежных значений.

  • char *int_curr_symbol, wchar_t *_W_int_curr_symbol
    Международный символ валюты для текущего языкового стандарта. Первые три символа определяют международный алфавитный символ валюты, как определено в стандарте ISO 4217 Codes for the Representation of Currency and Funds. Четвертый символ (непосредственно перед нулевым символом) разделяет международный символ валюты денежного значения.

  • char *currency_symbol, wchar_t *_W_currency_symbol
    Символ местной валюты для текущего языкового стандарта.

  • char *mon_decimal_point, wchar_t *_W_mon_decimal_point
    Символ десятичной запятой для денежных значений.

  • char *mon_thousands_sep, wchar_t *_W_mon_thousands_sep
    Разделитель для групп цифр слева от десятичного разряда в денежных значениях.

  • char *mon_grouping
    Размер каждой группы цифр для денежных значений.

  • char *positive_sign, wchar_t *_W_positive_sign
    Строка, обозначающая знак для неотрицательного денежного значения.

  • char *negative_sign, wchar_t *_W_negative_sign
    Строка, обозначающая знак для отрицательного денежного значения.

  • char int_frac_digits
    Число цифр справа от десятичной запятой в международных форматированных денежных значениях.

  • char frac_digits
    Число цифр справа от десятичной запятой в форматированных денежных значениях.

  • char p_cs_precedes
    Установлен в 1, если символ валюты предшествует неотрицательному форматированному денежному значению. Установлен в 0, если символ стоит после значения.

  • char p_sep_by_space
    Установлен в 1, если символ валюты отделен пробелом от неотрицательного форматированного денежного значения. Установлен в 0, если символ не отделяется пробелом.

  • char n_cs_precedes
    Установлен в 1, если символ валюты предшествует отрицательному форматированному денежному значению. Установлен в 0, если символ следует за значением.

  • char n_sep_by_space
    Установлен в 1, если символ валюты отделен пробелом от отрицательного форматированного денежного значения. Установлен в 0, если символ не отделяется пробелом.

  • char p_sign_posn
    Позиция положительного знака в форматированных неотрицательных денежных значениях.

  • char n_sign_posn
    Позиция отрицательного знака в форматированных неотрицательных денежных значениях.

Члены структуры с версиями char * и wchar_t * — указатели на строки. Любой из этих членов, равный "" (или L"" для wchar_t *), либо имеет нулевую длину, либо не поддерживается в текущем языковом стандарте. Обратите внимание, что decimal_point и _W_decimal_point всегда поддерживаются и ненулевой длины.

Члены char структуры — небольшие неотрицательные числа, а не символы. Поля, равные CHAR_MAX, не поддерживаются в текущем языковом стандарте.

Элементы grouping и mon_grouping преобразуются в соответствии со следующими правилами.

  • CHAR_MAX
    Не выполняйте дальнейшую группировку

  • 0
    Используйте предыдущий элемент для каждой из оставшихся знаков.

  • n
    Количество цифр, представляющее текущую группу. Следующий элемент проверяется, чтобы определить размер следующей группы цифр перед текущей группой.

Значения int_curr_symbol преобразуются в соответствии со следующими правилами:

  • Первые три символа определяют международный алфавитный символ валюты, как определено в стандарте ISO 4217 Codes for the Representation of Currency and Funds.

  • Четвертый символ (непосредственно перед нулевым символом) отделяет международный символ валюты от денежного значения.

Значения p_cs_precedes и n_cs_precedes преобразуются в соответствии со следующими правилами (правило n_cs_precedes в круглых скобках).

  • 0
    Символ валюты следует после неотрицательного (отрицательного) форматированного денежного значения.

  • 1
    Символ валюты расположен перед неотрицательным (отрицательным) форматированным денежным значением.

Значения p_sep_by_space и n_sep_by_space преобразуются в соответствии со следующими правилами (правило n_sep_by_space в круглых скобках).

  • 0
    Символ валюты отделен от неотрицательного (отрицательного) форматированного денежного значения пробелом.

  • 1
    Символ валюты не отделен от неотрицательного (отрицательного) форматированного денежного значения пробелом.

Значения p_sign_posn и n_sign_posn преобразуются в соответствии со следующими правилами:

  • 0
    Значение и символ валюты заключены в скобки.

  • 1
    Строка знака предшествует значению и символу валюты.

  • 2
    Строка знака следует за значением и символом валюты.

  • 3
    Строка знака расположено непосредственно перед символом валюты.

  • 4
    Строка знака следует сразу за символом валюты.

Требования

Подпрограмма

Обязательный заголовок

localeconv

<locale.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Библиотеки

Все версии библиотек времени выполнения C.

См. также

Ссылки

Языковой стандарт

setlocale

Функции strcoll

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l