GetNumberFormatW, fonction (winnls.h)
Met en forme une chaîne de nombre en tant que chaîne numérique personnalisée pour les paramètres régionaux spécifiés par l’identificateur.
Syntaxe
int GetNumberFormatW(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Paramètres
[in] Locale
identificateur de paramètres régionaux qui spécifie les paramètres régionaux. Vous pouvez utiliser la macro MAKELCID
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Indicateurs contrôlant l’opération de la fonction. L’application doit définir ce paramètre sur 0 si lpFormat n’est pas défini sur NULL . Dans ce cas, la fonction met en forme la chaîne à l’aide de l’utilisateur remplace le format de nombre par défaut pour les paramètres régionaux. Si lpFormat est défini sur NULL, l’application peut spécifier LOCALE_NOUSEROVERRIDE pour mettre en forme la chaîne à l’aide du format de numéro système par défaut pour les paramètres régionaux spécifiés.
[in] lpValue
Pointeur vers une chaîne terminée par null contenant la chaîne numérique à mettre en forme. Cette chaîne ne peut contenir que les caractères suivants. Tous les autres caractères ne sont pas valides. La fonction retourne une erreur si la chaîne indiquée par lpValue s’écarte de ces règles.
- Caractères « 0 » à « 9 ».
- Un point décimal (point) si le nombre est une valeur à virgule flottante.
- Signe moins à la première position de caractère si le nombre est une valeur négative.
[in, optional] lpFormat
Pointeur vers une structure NUMBERFMT qui contient des informations de mise en forme de nombre, avec tous les membres définis sur les valeurs appropriées. Si ce paramètre n’est pas défini sur NULL, la fonction utilise les paramètres régionaux uniquement pour la mise en forme des informations non spécifiées dans la structure, par exemple la valeur de chaîne spécifique aux paramètres régionaux pour le signe négatif.
[out, optional] lpNumberStr
Pointeur vers une mémoire tampon dans laquelle cette fonction récupère la chaîne numérique mise en forme.
[in] cchNumber
Taille, dans les valeurs TCHAR, pour la mémoire tampon de chaîne de nombre indiquée par lpNumberStr. L’application peut également définir ce paramètre sur 0. Dans ce cas, la fonction retourne la taille requise pour la mémoire tampon de chaîne numérique et n’utilise pas le paramètre lpNumberStr.
Valeur de retour
Retourne le nombre de valeurs TCHAR récupérées dans la mémoire tampon indiquée par lpNumberStr en cas de réussite. Si le paramètre cchNumber est défini sur 0, la fonction retourne le nombre de caractères requis pour contenir la chaîne de nombre mise en forme, y compris un caractère null de fin.
La fonction retourne 0 si elle ne réussit pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :
- ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas suffisamment grande, ou elle était incorrectement définie sur NULL .
- ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
- ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’est pas valide.
- ERROR_OUTOFMEMORY. Le stockage insuffisant était disponible pour effectuer cette opération.
Remarques
Cette fonction peut récupérer des données à partir de paramètres régionaux personnalisés. Les données ne sont pas garanties comme étant identiques de l’ordinateur à l’ordinateur ou entre les exécutions d’une application. Si votre application doit conserver ou transmettre des données, consultez Utilisation des données de paramètres régionaux persistants.
Lorsque la version ANSI de cette fonction est utilisée avec un identificateur de paramètres régionaux Unicode uniquement, la fonction peut réussir, car le système d’exploitation utilise la page de codes système. Toutefois, les caractères qui ne sont pas définis dans la page de codes système apparaissent dans la chaîne sous forme de point d’interrogation ( ?).
Note
L’en-tête winnls.h définit GetNumberFormat comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winnls.h (include Windows.h) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |