Funzione GetNumberFormatEx (winnls.h)

Formatta una stringa numerica come stringa numerica personalizzata per le impostazioni locali specificate in base al nome.

Nota L'applicazione deve chiamare questa funzione in preferenza per GetNumberFormat se progettata per l'esecuzione solo in Windows Vista e versioni successive.

 
Nota Questa funzione può formattare i dati che cambiano tra le versioni, ad esempio a causa di impostazioni locali personalizzate. Se l'applicazione deve mantenere o trasmettere dati, vedere Uso di dati locali persistenti.
 

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.

Attenzione L'uso di LOCALE_NOUSEROVERRIDE è fortemente sconsigliato perché disabilita le preferenze utente.
 

[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

Vedere anche

GetNumberFormat

NUMBERFMT

Supporto per la lingua nazionale

Funzioni di supporto del linguaggio nazionale