Función GetNumberFormatA (winnls.h)
Da formato a una cadena de número como una cadena de número personalizada para una configuración regional especificada por identificador.
Sintaxis
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 configuración regional que especifica la configuración regional. Puede usar la macro MAKELCID para crear un identificador de configuración regional o usar uno de los siguientes valores predefinidos.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[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 que se va a dar formato. Esta cadena solo puede contener los siguientes caracteres. 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 del 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 este parámetro no se establece 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 cadena específico de la 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.
[in] cchNumber
Tamaño, en valores TCHAR, 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 valores TCHAR 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
Esta función puede recuperar datos de configuraciones regionales personalizadas. No se garantiza que los datos sean los mismos desde el equipo al equipo o entre ejecuciones de una aplicación. Si la aplicación debe conservar o transmitir datos, consulte Uso de datos de configuración regional persistente.
Cuando se usa la versión ANSI de esta función con un identificador de configuración regional solo Unicode, la función puede realizarse correctamente porque el sistema operativo usa la página de códigos del sistema. Sin embargo, los caracteres que no están definidos en la página de códigos del sistema aparecen en la cadena como signo de interrogación (?).
Nota
El encabezado winnls.h define GetNumberFormat como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winnls.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |