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

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

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

Синтаксис

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

Идентификатор языкового стандарта, указывающий языковой стандарт, для которого эта функция форматирует строку валюты. Макрос MAKELCID можно использовать для создания идентификатора языкового стандарта или одного из следующих предопределенных значений.

[in] dwFlags

Флаги, управляющие форматом валюты. Приложение должно задать для этого параметра значение 0, если для lpFormat не задано значение NULL. В этом случае функция форматирует строку с помощью пользовательского переопределения в формат валюты по умолчанию для языкового стандарта. Если для lpFormat задано значение NULL, приложение может указать LOCALE_NOUSEROVERRIDE форматирования строки, используя системный формат валюты по умолчанию для указанного языкового стандарта.

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

См. также

CURRENCYFMT

GetCurrencyFormatEx

GetNumberFormat

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

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