Partager via


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.

Remarque 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 des identificateurs de paramètres 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 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 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 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.

Attention 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 ».
  • 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

Voir aussi

GetNumberFormatEx

NUMBERFMT

prise en charge des langues nationales

fonctions de prise en charge des langues nationales