Función GetNumberFormatEx (winnls.h)
Da formato a una cadena de número como una cadena de número personalizada para una configuración regional especificada por nombre.
Sintaxis
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
Puntero a un nombre de configuración regional o uno de los siguientes valores predefinidos.
[in] dwFlags
Marcas que controlan la operación de la función. La aplicación debe establecer este parámetro en 0 si lpFormat no está establecido en NULL. En este caso, la función da formato a la cadena mediante invalidaciones de usuario al formato de número predeterminado para la configuración regional. Si lpFormat se establece en NULL, la aplicación puede especificar LOCALE_NOUSEROVERRIDE para dar formato a la cadena mediante el formato de número predeterminado del sistema para la configuración regional especificada.
[in] lpValue
Puntero a una cadena terminada en null que contiene la cadena de número a la que se va a dar formato. Esta cadena solo puede contener los caracteres siguientes. Todos los demás caracteres no son válidos. La función devuelve un error si la cadena indicada por lpValue se desvía de estas reglas.
- Caracteres "0" a "9".
- Un separador decimal (punto) si el número es un valor de punto flotante.
- Signo menos en la primera posición de carácter si el número es un valor negativo.
[in, optional] lpFormat
Puntero a una estructura NUMBERFMT que contiene información de formato de número, con todos los miembros establecidos en los valores adecuados. Si la aplicación no establece este parámetro en NULL, la función usa la configuración regional solo para dar formato a la información no especificada en la estructura, por ejemplo, el valor de la cadena de configuración regional para el signo negativo.
[out, optional] lpNumberStr
Puntero a un búfer en el que esta función recupera la cadena de número con formato. Como alternativa, este parámetro contiene NULL si cchNumber está establecido en 0. En este caso, la función devuelve el tamaño necesario para el búfer de cadena de números.
[in] cchNumber
Tamaño, en caracteres, para el búfer de cadena de número indicado por lpNumberStr. Como alternativa, la aplicación puede establecer este parámetro en 0. En este caso, la función devuelve el tamaño necesario para el búfer de cadena de números y no usa el parámetro lpNumberStr .
Valor devuelto
Devuelve el número de caracteres recuperados en el búfer indicado por lpNumberStr si se ejecuta correctamente. Si el parámetro cchNumber se establece en 0, la función devuelve el número de caracteres necesarios para contener la cadena de número con formato, incluido un carácter nulo de terminación.
La función devuelve 0 si no se realiza correctamente. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:
- ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
- ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
- ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
- ERROR_OUTOFMEMORY. No había suficiente almacenamiento disponible para completar esta operación.
Comentarios
A partir de Windows 8: si la aplicación pasa etiquetas de idioma a esta función desde el espacio de nombres Windows.Globalization, primero debe convertir las etiquetas mediante una llamada a ResolveLocaleName.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winnls.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |