GetNumberFormatW-Funktion (winnls.h)
Formatiert eine Zahlenzeichenfolge als Zahlenzeichenfolge, die für ein durch den Bezeichner angegebenes Gebietsschema angepasst wurde.
Syntax
int GetNumberFormatW(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Parameter
[in] Locale
Gebietsschema-ID, die das Gebietsschema angibt. Sie können das MAKELCID Makro verwenden, um einen Gebietsschemabezeichner zu erstellen oder einen der folgenden vordefinierten Werte zu verwenden.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[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.
[in] lpValue
Zeiger auf eine mit Null beendete Zeichenfolge, die die zu formatende Zahlzeichenfolge 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 durch lpValue angegebene Zeichenfolge von diesen Regeln abweicht.
- Zeichen "0" bis "9".
- Ein Dezimalkomma (Punkt), wenn die Zahl ein Gleitkommawert ist.
- Ein Minuszeichen in der ersten Zeichenposition, wenn die Zahl ein negativer Wert ist.
[in, optional] lpFormat
Zeigen Sie auf eine NUMBERFMT- Struktur, die Zahlenformatierungsinformationen enthält, wobei alle Elemente auf geeignete Werte festgelegt sind. Wenn dieser Parameter nicht auf NULL-festgelegt ist, verwendet die Funktion das Gebietsschema nur für Formatierungsinformationen, die in der Struktur nicht angegeben sind, z. B. den gebietsschemaspezifischen Zeichenfolgenwert für das negative Vorzeichen.
[out, optional] lpNumberStr
Zeigen Sie auf einen Puffer, in dem diese Funktion die formatierte Zahlenzeichenfolge abruft.
[in] cchNumber
Größe in TCHAR-Werten für den durch lpNumberStrangegebenen Zahlenzeichenfolgenpuffer. 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 parameter lpNumberStr.
Rückgabewert
Gibt die Anzahl der im Puffer abgerufenen TCHAR-Werte zurück, die durch lpNumberStr angegeben werden. Wenn der cchNumber-Parameter auf 0 festgelegt ist, gibt die Funktion die Anzahl der Zeichen zurück, die zum Speichern der formatierten Zahlenzeichenfolge erforderlich sind, einschließlich eines endenden Nullzeichens.
Die Funktion gibt 0 zurück, wenn sie nicht erfolgreich ist. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastErroraufrufen, wodurch eine 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. Ungültige Parameterwerte.
- ERROR_OUTOFMEMORY. Nicht genügend Speicher war verfügbar, um diesen Vorgang abzuschließen.
Bemerkungen
Diese Funktion kann Daten aus benutzerdefinierten Gebietsschemasabrufen. Daten sind nicht garantiert identisch von Computer zu Computer oder zwischen Ausführung einer Anwendung. Wenn Ihre Anwendung Daten beibehalten oder übertragen muss, lesen Sie Verwenden persistenter Gebietsschemadaten.
Wenn die ANSI-Version dieser Funktion mit einem Nur-Unicode-Gebietsschemabezeichner verwendet wird, kann die Funktion erfolgreich sein, da das Betriebssystem die Systemcodepage verwendet. Zeichen, die auf der Systemcodeseite nicht definiert sind, werden jedoch in der Zeichenfolge als Fragezeichen (?) angezeigt.
Anmerkung
Der winnls.h-Header definiert GetNumberFormat als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winnls.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |