Share via


GetNumberFormatA, fonction (winnls.h)

Met en forme une chaîne numérique sous la forme d’une chaîne numérique personnalisée pour un paramètre régional spécifié par l’identificateur.

Note Pour des raisons d’interopérabilité, l’application doit préférer la fonction GetNumberFormatEx à GetNumberFormat, car Microsoft migre vers l’utilisation de noms de paramètres régionaux au lieu d’identificateurs régionaux pour les nouveaux paramètres régionaux. Toute application qui s’exécute uniquement sur Windows Vista et versions ultérieures doit utiliser GetNumberFormatEx.
 

Syntaxe

int GetNumberFormatA(
  [in]            LCID             Locale,
  [in]            DWORD            dwFlags,
  [in]            LPCSTR           lpValue,
  [in, optional]  const NUMBERFMTA *lpFormat,
  [out, optional] LPSTR            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 pour créer un identificateur de paramètres régionaux ou utiliser 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 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 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 virgule décimale (point) si le nombre est une valeur à virgule flottante.
  • Signe moins à la première position du 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 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, en 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 retournée

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 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 suffisamment grande ou 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. L’espace de stockage disponible n’était pas suffisant pour effectuer cette opération.

Remarques

Cette fonction peut récupérer des données à partir de paramètres régionaux personnalisés. Il n’est pas garanti que les données soient identiques d’un ordinateur à l’autre 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 la forme d’un point d’interrogation ( ?).

Notes

L’en-tête winnls.h définit GetNumberFormat en tant qu’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. La combinaison 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.

Configuration requise

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

Voir aussi

GetNumberFormatEx

NUMBERFMT

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales