Поделиться через


Функция 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

Дополнительные сведения см. в параметре lpValueGetCurrencyFormatEx.

[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 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winnls.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

CURRENCYFMT

GetCurrencyFormatEx

GetNumberFormat

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

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