Função GetNumberFormatA (winnls.h)
Formata uma cadeia de caracteres numérica como uma cadeia de caracteres numérica personalizada para uma localidade especificada pelo identificador.
Sintaxe
int GetNumberFormatA(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCSTR lpValue,
[in, optional] const NUMBERFMTA *lpFormat,
[out, optional] LPSTR lpNumberStr,
[in] int cchNumber
);
Parâmetros
[in] Locale
identificador de localidade que especifica a localidade. Você pode usar a macro MAKELCID para criar um identificador de localidade ou usar um dos seguintes valores predefinidos.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Sinalizadores que controlam a operação da função. 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 número 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 número padrão do sistema para a localidade especificada.
[in] lpValue
Ponteiro para uma cadeia de caracteres terminada em nulo que contém a cadeia de caracteres de número a ser formatada. Essa cadeia de caracteres só pode conter os caracteres a seguir. Todos os outros caracteres são inválidos. A função retornará um erro se a cadeia de caracteres indicada por lpValue se desviar dessas regras.
- Caracteres "0" a "9".
- Um ponto decimal (ponto) se o número for um valor de ponto flutuante.
- Um sinal de subtração na primeira posição de caractere se o número for um valor negativo.
[in, optional] lpFormat
Ponteiro para uma estrutura
[out, optional] lpNumberStr
Ponteiro para um buffer no qual essa função recupera a cadeia de caracteres de número formatada.
[in] cchNumber
Tamanho, em valores TCHAR, para o buffer de cadeia de caracteres de número indicado por lpNumberStr. Como alternativa, o aplicativo pode definir esse parâmetro como 0. Nesse caso, a função retorna o tamanho necessário para o buffer de cadeia de caracteres numérica e não usa o parâmetro lpNumberStr.
Valor de retorno
Retorna o número de valores TCHAR recuperados no buffer indicado por lpNumberStr se bem-sucedido. Se o parâmetro cchNumber for definido como 0, a função retornará o número de caracteres necessários para manter a cadeia de caracteres de número 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.
- ERROR_OUTOFMEMORY. Não havia armazenamento suficiente disponível para concluir essa operação.
Observações
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 função pode ser bem-sucedida porque o sistema operacional usa a página de código do sistema. No entanto, caracteres que são indefinidos na página de código do sistema aparecem na cadeia de caracteres como um ponto de interrogação (?).
Nota
O cabeçalho winnls.h define GetNumberFormat como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winnls.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |