Funzione GetNumberFormatEx (winnls.h)
Formatta una stringa numerica come stringa numerica personalizzata per le impostazioni locali specificate in base al nome.
Sintassi
int GetNumberFormatEx(
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Parametri
[in, optional] lpLocaleName
Puntatore a un nome delle impostazioni locali o uno dei valori predefiniti seguenti.
[in] dwFlags
Contrassegni che controllano l'operazione della funzione. L'applicazione deve impostare questo parametro su 0 se lpFormat non è impostato su NULL. In questo caso, la funzione formatta la stringa usando l'override dell'utente nel formato numero predefinito per le impostazioni locali. Se lpFormat è impostato su NULL, l'applicazione può specificare LOCALE_NOUSEROVERRIDE per formattare la stringa usando il formato numero predefinito del sistema per le impostazioni locali specificate.
[in] lpValue
Puntatore a una stringa con terminazione null contenente la stringa numero da formattare. Questa stringa può contenere solo i caratteri seguenti. Tutti gli altri caratteri non sono validi. La funzione restituisce un errore se la stringa indicata da lpValue devia da queste regole.
- Caratteri "0" a "9".
- Un punto decimale (punto) se il numero è un valore a virgola mobile.
- Segno meno nella prima posizione del carattere se il numero è un valore negativo.
[in, optional] lpFormat
Puntatore a una struttura NUMBERFMT che contiene informazioni sulla formattazione dei numeri, con tutti i membri impostati su valori appropriati. Se l'applicazione non imposta questo parametro su NULL, la funzione usa le impostazioni locali solo per la formattazione delle informazioni non specificate nella struttura, ad esempio il valore della stringa delle impostazioni locali per il segno negativo.
[out, optional] lpNumberStr
Puntatore a un buffer in cui questa funzione recupera la stringa numerica formattata. In alternativa, questo parametro contiene NULL se cchNumber è impostato su 0. In questo caso, la funzione restituisce le dimensioni necessarie per il buffer di stringa numero.
[in] cchNumber
Dimensioni, in caratteri, per il buffer stringa numero indicato da lpNumberStr. In alternativa, l'applicazione può impostare questo parametro su 0. In questo caso, la funzione restituisce le dimensioni necessarie per il buffer stringa numero e non usa il parametro lpNumberStr .
Valore restituito
Restituisce il numero di caratteri recuperati nel buffer indicato da lpNumberStr se ha esito positivo. Se il parametro cchNumber è impostato su 0, la funzione restituisce il numero di caratteri necessari per contenere la stringa numerica formattata, incluso un carattere Null terminante.
La funzione restituisce 0 se non riesce. Per ottenere informazioni sull'errore estese, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:
- ERROR_INSUFFICIENT_BUFFER. Una dimensione del buffer fornita non è stata sufficiente oppure è stata impostata in modo errato su NULL.
- ERROR_INVALID_FLAGS. I valori forniti per i flag non sono validi.
- ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.
- ERROR_OUTOFMEMORY. L'archiviazione non è sufficiente per completare questa operazione.
Commenti
A partire da Windows 8: se l'app passa tag di lingua a questa funzione dallo spazio dei nomi Windows.Globalization, deve prima convertire i tag chiamando ResolveLocaleName.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winnls.h (includere Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |