Функция GetCurrencyFormatEx (winnls.h)

Форматирует числовую строку в виде строки валюты для языкового стандарта, заданного именем.

Примечание Приложение должно вызывать эту функцию в предпочтительном режиме GetCurrencyFormat , если оно предназначено для работы только в Windows Vista и более поздних версиях.

 
Примечание Эта функция может форматировать данные, которые изменяются между выпусками, например из-за пользовательского языкового стандарта. Если приложение должно сохранять или передавать данные, см. статью Использование данных сохраняемого языкового стандарта.
 

Синтаксис

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 для форматирования строки с использованием системного формата валюты по умолчанию для указанного языкового стандарта.

Осторожностью Использование 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

См. также

CURRENCYFMT

GetCurrencyFormat

GetNumberFormatEx

Поддержка национальных языков

Функции поддержки национальных языков