Compartilhar via


Função GetCurrencyFormatW (winnls.h)

Formata uma cadeia de caracteres numérica como uma cadeia de caracteres de moeda para uma localidade especificada pelo identificador.

Nota Por motivos de interoperabilidade, o aplicativo deve preferir a função GetCurrencyFormatEx a GetCurrencyFormat porque a Microsoft está migrando para o uso de nomes de localidade em vez de identificadores de localidade para novas localidades. Qualquer aplicativo executado somente no Windows Vista e posterior deve usar GetCurrencyFormatEx.
 

Sintaxe

int GetCurrencyFormatW(
  [in]            LCID               Locale,
  [in]            DWORD              dwFlags,
  [in]            LPCWSTR            lpValue,
  [in, optional]  const CURRENCYFMTW *lpFormat,
  [out, optional] LPWSTR             lpCurrencyStr,
  [in]            int                cchCurrency
);

Parâmetros

[in] Locale

Identificador de localidade que especifica a localidade para a qual essa função formata a cadeia de caracteres de moeda. Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos seguintes valores predefinidos.

[in] dwFlags

Sinalizadores que controlam o formato de moeda. O aplicativo deve definir esse parâmetro como 0 se lpFormat não estiver definido como NULL. Nesse caso, a função formata a cadeia de caracteres usando substituições de usuário para o formato de moeda padrão para a localidade. Se lpFormat estiver definido como NULL, o aplicativo poderá especificar LOCALE_NOUSEROVERRIDE para formatar a cadeia de caracteres usando o formato de moeda padrão do sistema para a localidade especificada.

Cuidado O uso de LOCALE_NOUSEROVERRIDE é altamente desencorajado, pois desabilita as preferências do usuário.
 

[in] lpValue

Para obter detalhes, consulte o parâmetro lpValue de GetCurrencyFormatEx.

[in, optional] lpFormat

Ponteiro para uma estrutura CURRENCYFMT que contém informações de formatação de moeda. Todos os membros da estrutura devem conter valores apropriados. O aplicativo poderá definir esse parâmetro como NULL se a função for usar o formato de moeda da localidade especificada. Se esse parâmetro não estiver definido como NULL, a função usará a localidade especificada apenas para formatar informações não especificadas na estrutura CURRENCYFMT , por exemplo, o valor da cadeia de caracteres para o sinal negativo usado pela localidade.

[out, optional] lpCurrencyStr

Ponteiro para um buffer no qual essa função recupera a cadeia de caracteres de moeda formatada.

[in] cchCurrency

Tamanho, em caracteres, do buffer lpCurrencyStr . O aplicativo define esse parâmetro como 0 se a função deve retornar o tamanho do buffer necessário para manter a cadeia de caracteres de moeda formatada. Nesse caso, o parâmetro lpCurrencyStr não é usado.

Retornar valor

Retorna o número de caracteres recuperados no buffer indicado por lpCurrencyStr se for bem-sucedido. Se o parâmetro cchCurrency for definido como 0, a função retornará o tamanho do buffer necessário para manter a cadeia de caracteres de moeda formatada, incluindo um caractere nulo de terminação.

A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:

  • ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.
  • ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
  • ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.

Comentários

Essa função pode recuperar dados de localidades personalizadas. Não há garantia de que os dados sejam iguais de computador para computador ou entre execuções de um aplicativo. Se o aplicativo precisar persistir ou transmitir dados, consulte Usando dados de localidade persistente.

Quando a versão ANSI dessa função é usada com um identificador de localidade somente Unicode, a chamada pode ser bem-sucedida porque o sistema operacional usa a página de código do sistema. No entanto, caracteres indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação (?).

Observação

O cabeçalho winnls.h define GetCurrencyFormat como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winnls.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CURRENCYFMT

GetCurrencyFormatEx

GetNumberFormat

Suporte à linguagem nacional

Funções de suporte à linguagem nacional