Функция GetCurrencyFormatA (winnls.h)
Форматирует числовую строку в виде строки валюты для языкового стандарта, указанного идентификатором.
Синтаксис
int GetCurrencyFormatA(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCSTR lpValue,
[in, optional] const CURRENCYFMTA *lpFormat,
[out, optional] LPSTR lpCurrencyStr,
[in] int cchCurrency
);
Параметры
[in] Locale
Идентификатор языкового стандарта, указывающий языковой стандарт, для которого эта функция форматирует строку валюты. Вы можете использовать макрос MAKELCID для создания идентификатора языкового стандарта или использовать одно из следующих предопределенных значений.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Флаги, управляющие форматом валюты. Приложение должно задать для этого параметра значение 0, если для lpFormat не задано значение NULL. В этом случае функция форматирует строку, используя пользователь переопределяет денежный формат по умолчанию для языкового стандарта. Если для lpFormat задано значение NULL, приложение может указать LOCALE_NOUSEROVERRIDE для форматирования строки с использованием системного формата валюты по умолчанию для указанного языкового стандарта.
[in] lpValue
Дополнительные сведения см. в параметре lpValueобъекта GetCurrencyFormatEx.
[in, optional] lpFormat
Указатель на структуру CURRENCYFMT , содержащую сведения о форматировании валюты. Все элементы структуры должны содержать соответствующие значения. Приложение может задать для этого параметра значение NULL , если функция использует денежный формат указанного языкового стандарта. Если для этого параметра не задано значение NULL, функция использует указанный языковой стандарт только для форматирования сведений, не указанных в структуре CURRENCYFMT , например строкового значения для знака "минус", используемого языковым стандартом.
[out, optional] lpCurrencyStr
Указатель на буфер, в котором эта функция извлекает отформатированную строку валюты.
[in] cchCurrency
Размер буфера lpCurrencyStr в символах. Приложение задает этому параметру значение 0, если функция должна возвращать размер буфера, необходимый для хранения форматируемой строки валюты. В этом случае параметр lpCurrencyStr не используется.
Возвращаемое значение
Возвращает количество символов, полученных в буфере, указанном lpCurrencyStr в случае успешного выполнения. Если параметр cchCurrency имеет значение 0, функция возвращает размер буфера, необходимый для хранения форматируемой строки валюты, включая завершающий символ NULL.
Функция возвращает значение 0, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:
- ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или неправильно задано значение NULL.
- ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, были недопустимыми.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
Комментарии
Эта функция может получать данные из пользовательских языковых стандартов. Данные не всегда будут одинаковыми на разных компьютерах или между запусками приложения. Если приложение должно сохранять или передавать данные, см. статью Использование данных сохраняемого языкового стандарта.
Если версия ANSI этой функции используется с идентификатором языкового стандарта только в Юникоде, вызов может завершиться успешно, так как операционная система использует системную кодовую страницу. Однако символы, которые не определены на системной кодовой странице, отображаются в строке как вопросительный знак (?).
Примечание
Заголовок winnls.h определяет GetCurrencyFormat в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winnls.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |