Função GetNumberFormatEx (winnls.h)
Formata uma cadeia de caracteres numérica como uma cadeia de caracteres numérica personalizada para uma localidade especificada pelo nome.
Sintaxe
int GetNumberFormatEx(
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Parâmetros
[in, optional] lpLocaleName
Ponteiro para um nome de localidade ou um dos seguintes valores predefinidos.
[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 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 posição do primeiro caractere se o número for um valor negativo.
[in, optional] lpFormat
Ponteiro para uma estrutura NUMBERFMT que contém informações de formatação numérica, com todos os membros definidos como valores apropriados. Se o aplicativo não definir esse parâmetro como NULL, a função usará a localidade somente para formatar informações não especificadas na estrutura, por exemplo, o valor da cadeia de caracteres de localidade para o sinal negativo.
[out, optional] lpNumberStr
Ponteiro para um buffer no qual essa função recupera a cadeia de caracteres de número formatada. Como alternativa, esse parâmetro conterá NULL se cchNumber estiver definido como 0. Nesse caso, a função retorna o tamanho necessário para o buffer de cadeia de caracteres numérica.
[in] cchNumber
Tamanho, em caracteres, 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 .
Retornar valor
Retorna o número de caracteres recuperados no buffer indicado por lpNumberStr se tiver êxito. 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 numérica 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.
Comentários
Começando no Windows 8: se o aplicativo passar marcas de idioma para essa função do namespace Windows.Globalization, ele deverá primeiro converter as marcas chamando ResolveLocaleName.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnls.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |