GetNumberFormatEx-Funktion (winnls.h)

Formatiert eine Zahlenzeichenfolge als Zahlenzeichenfolge, die für ein durch den Namen angegebenes Gebietsschema angepasst ist.

Hinweis Die Anwendung sollte diese Funktion vorzugsmäßig GetNumberFormat aufrufen, wenn sie nur unter Windows Vista und höher ausgeführt werden soll.

 
Hinweis Diese Funktion kann Daten formatieren, die sich zwischen Releases ändern, z. B. aufgrund eines benutzerdefinierten Gebietsschemas. Wenn Ihre Anwendung Daten beibehalten oder übertragen muss, finden Sie weitere Informationen unter Verwenden persistenter Gebietsschemadaten.
 

Syntax

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

Parameter

[in, optional] lpLocaleName

Zeiger auf einen Gebietsschemanamen oder einen der folgenden vordefinierten Werte.

[in] dwFlags

Flags, die den Vorgang der Funktion steuern. Die Anwendung muss diesen Parameter auf 0 festlegen, wenn lpFormat nicht auf NULL festgelegt ist. In diesem Fall formatiert die Funktion die Zeichenfolge mithilfe von Benutzerüberschreibungen in das Standardnummernformat für das Gebietsschema. Wenn lpFormat auf NULL festgelegt ist, kann die Anwendung LOCALE_NOUSEROVERRIDE angeben, um die Zeichenfolge mithilfe des Systemstandardnummernformats für das angegebene Gebietsschema zu formatieren.

Vorsicht Die Verwendung von LOCALE_NOUSEROVERRIDE wird dringend abgeraten, da die Benutzereinstellungen deaktiviert werden.
 

[in] lpValue

Zeiger auf eine NULL-beendete Zeichenfolge, die die zu formatende Zahlenzeichenfolge enthält. Diese Zeichenfolge darf nur die folgenden Zeichen enthalten. Alle anderen Zeichen sind ungültig. Die Funktion gibt einen Fehler zurück, wenn die von lpValue angegebene Zeichenfolge von diesen Regeln abweicht.

  • Zeichen "0" bis "9".
  • Ein Dezimalpunkt (Punkt), wenn die Zahl ein Gleitkommawert ist.
  • Ein Minuszeichen in der ersten Zeichenposition, wenn die Zahl ein negativer Wert ist.

[in, optional] lpFormat

Zeiger auf eine NUMBERFMT-Struktur , die Zahlenformatierungsinformationen enthält, wobei alle Member auf entsprechende Werte festgelegt sind. Wenn die Anwendung diesen Parameter nicht auf NULL festlegt, verwendet die Funktion das Gebietsschema nur für Formatierungsinformationen, die nicht in der Struktur angegeben sind, z. B. den Gebietsschemazeichenfolgenwert für das negative Vorzeichen.

[out, optional] lpNumberStr

Zeiger auf einen Puffer, in dem diese Funktion die formatierte Zahlenzeichenfolge abruft. Alternativ enthält dieser Parameter NULL , wenn cchNumber auf 0 festgelegt ist. In diesem Fall gibt die Funktion die erforderliche Größe für den Zahlenzeichenfolgenpuffer zurück.

[in] cchNumber

Größe in Zeichen für den durch lpNumberStr. Alternativ kann die Anwendung diesen Parameter auf 0 festlegen. In diesem Fall gibt die Funktion die erforderliche Größe für den Zahlenzeichenfolgenpuffer zurück und verwendet nicht den lpNumberStr-Parameter .

Rückgabewert

Gibt die Anzahl von Zeichen zurück, die im Puffer abgerufen wurden, der von lpNumberStr angegeben wird, wenn dies erfolgreich war. Wenn der cchNumber-Parameter auf 0 festgelegt ist, gibt die Funktion die Anzahl der Zeichen zurück, die erforderlich sind, um die formatierte Zahlenzeichenfolge zu enthalten, einschließlich eines beendenden NULL-Zeichens.

Die Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen abzurufen, kann die Anwendung GetLastError aufrufen, wodurch einer der folgenden Fehlercodes zurückgegeben werden kann:

  • ERROR_INSUFFICIENT_BUFFER. Eine angegebene Puffergröße war nicht groß genug, oder sie wurde fälschlicherweise auf NULL festgelegt.
  • ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
  • ERROR_INVALID_PARAMETER. Jeder der Parameterwerte war ungültig.
  • ERROR_OUTOFMEMORY. Für diesen Vorgang war nicht genügend Speicher verfügbar.

Hinweise

Ab Windows 8: Wenn Ihre App Sprachtags aus dem Windows.Globalization-Namespace an diese Funktion übergibt, muss sie zuerst die Tags konvertieren, indem ResolveLocaleName aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnls.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

GetNumberFormat

NUMBERFMT

Unterstützung für nationale Sprachen

Nationale Sprachunterstützungsfunktionen