Функция GetCurrencyFormatEx (winnls.h)
Форматирует числовую строку в виде строки валюты для языкового стандарта, заданного именем.
Синтаксис
int GetCurrencyFormatEx(
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const CURRENCYFMTW *lpFormat,
[out, optional] LPWSTR lpCurrencyStr,
[in] int cchCurrency
);
Параметры
[in, optional] lpLocaleName
Указатель на имя языкового стандарта или одно из следующих предопределенных значений.
[in] dwFlags
Флаги, управляющие работой функции. Приложение должно задать для этого параметра значение 0, если для lpFormat не задано значение NULL. В этом случае функция форматирует строку, используя пользователь переопределяет денежный формат по умолчанию для языкового стандарта. Если для lpFormat задано значение NULL, приложение может указать LOCALE_NOUSEROVERRIDE для форматирования строки с использованием системного формата валюты по умолчанию для указанного языкового стандарта.
[in] lpValue
Указатель на строку, завершающуюся нулевым значением, содержащую числовую строку для форматирования. Эта строка может содержать только следующие символы. Все остальные символы недопустимы. Функция возвращает ошибку, если строка отклоняется от этих правил.
- Символы от "0" до "9"
- Одна десятичная запятая (точка), если число является значением с плавающей запятой
- Знак "минус" в первой позиции символа, если число является отрицательным значением
[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. Любое из значений параметров было недопустимым.
Комментарии
Начиная с Windows 8: Если приложение передает языковые теги в эту функцию из пространства имен Windows.Globalization , оно сначала должно преобразовать теги, вызвав ResolveLocaleName.
Требования
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winnls.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |