Функция GetCurrencyFormatW (winnls.h)
Форматирует числовую строку как валютную строку для языкового стандарта, указанного идентификатором.
Синтаксис
int GetCurrencyFormatW(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const CURRENCYFMTW *lpFormat,
[out, optional] LPWSTR lpCurrencyStr,
[in] int cchCurrency
);
Параметры
[in] Locale
идентификатор языкового стандарта, указывающий языковой стандарт, для которого эта функция форматирует строку валюты. Вы можете использовать макрос
- 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
Дополнительные сведения см. в параметре lpValueGetCurrencyFormatEx.
[in, optional] lpFormat
Указатель на структуру
[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 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winnls.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
поддержки национальных языков