Partager via


GetNumberFormatEx, fonction (winnls.h)

Met en forme une chaîne numérique en tant que chaîne numérique personnalisée pour un paramètre régional spécifié par nom.

Note L’application doit appeler cette fonction de préférence à GetNumberFormat si elle est conçue pour s’exécuter uniquement sur Windows Vista et versions ultérieures.

 
Note Cette fonction peut mettre en forme des données qui changent d’une version à l’autre, par exemple, en raison d’un paramètre régional personnalisé. Si votre application doit conserver ou transmettre des données, consultez Utilisation des données de paramètres régionaux persistants.
 

Syntaxe

int GetNumberFormatEx(
  [in, optional]  LPCWSTR          lpLocaleName,
  [in]            DWORD            dwFlags,
  [in]            LPCWSTR          lpValue,
  [in, optional]  const NUMBERFMTW *lpFormat,
  [out, optional] LPWSTR           lpNumberStr,
  [in]            int              cchNumber
);

Paramètres

[in, optional] lpLocaleName

Pointeur vers un nom de paramètres régionaux ou l’une des valeurs prédéfinies suivantes.

[in] dwFlags

Indicateurs contrôlant le fonctionnement 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 par le format de nombre par défaut pour les paramètres régionaux. Si lpFormat a la valeur NULL, l’application peut spécifier LOCALE_NOUSEROVERRIDE pour mettre en forme la chaîne à l’aide du format de numéro par défaut du système pour les paramètres régionaux spécifiés.

Attention L’utilisation de LOCALE_NOUSEROVERRIDE est fortement déconseillée, car elle désactive les préférences utilisateur.
 

[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 ».
  • Une décimale (point) si le nombre est une valeur à virgule flottante.
  • Un signe moins dans 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 nombres, avec tous les membres définis sur les valeurs appropriées. Si l’application ne définit pas ce paramètre 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 la chaîne de 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. Ce paramètre contient également la valeur NULL si cchNumber a la valeur 0. Dans ce cas, la fonction retourne la taille requise pour la mémoire tampon de chaîne numérique.

[in] cchNumber

Taille, en caractères, pour la mémoire tampon de chaîne numérique 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 retournée

Retourne le nombre de caractères récupérés dans la mémoire tampon indiqué par lpNumberStr en cas de réussite. Si le paramètre cchNumber a la valeur 0, la fonction retourne le nombre de caractères requis pour contenir la chaîne numérique 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 assez grande ou elle a été 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’était pas valide.
  • ERROR_OUTOFMEMORY. Le stockage disponible n’était pas suffisant pour effectuer cette opération.

Remarques

À compter de Windows 8 : si votre application transmet des balises de langue à cette fonction à partir de l’espace de noms Windows.Globalization, elle doit d’abord convertir les balises en appelant ResolveLocaleName.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winnls.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetNumberFormat

NUMBERFMT

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales