Strings.Format(Object, String) Metodo

Definizione

Restituisce una stringa formattata in base alle istruzioni contenute in un'espressione String di formato.

public static string Format (object? Expression, string? Style = "");
public static string Format (object Expression, string Style = "");
static member Format : obj * string -> string
Public Function Format (Expression As Object, Optional Style As String = "") As String

Parametri

Expression
Object

Obbligatorio. Qualsiasi espressione valida.

Style
String

facoltativo. Un'espressione String di formato denominata o definita dall'utente valida.

Restituisce

Stringa formattata in base alle istruzioni contenute in un'espressione String di formato.

Esempio

In questo esempio sono presentati vari utilizzi della funzione Format per formattare valori mediante formati sia di tipo String che definiti dall'utente. Per quanto riguarda il separatore della data (/), dell'ora (:) e gli indicatori AM/PM (t e tt), l'output formattato visualizzato dal sistema dipende dalle impostazioni locali utilizzate per il codice. Nell'ambiente di sviluppo la data e l'ora vengono visualizzate nel formato breve delle impostazioni locali.

Nota

Per le impostazioni locali che utilizzano il formato 24 ore, gli indicatori AM/PM (t e tt) non visualizzano alcun output.

Dim testDateTime As Date = #1/27/2001 5:04:23 PM#
Dim testStr As String
' Returns current system time in the system-defined long time format.
testStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined long date format.
testStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date 
' format, using the single letter code for the format.
testStr = Format(Now(), "D")

' Returns the value of testDateTime in user-defined date/time formats.
' Returns "5:4:23".
testStr = Format(testDateTime, "h:m:s")
' Returns "05:04:23 PM".
testStr = Format(testDateTime, "hh:mm:ss tt")
' Returns "Saturday, Jan 27 2001".
testStr = Format(testDateTime, "dddd, MMM d yyyy")
' Returns "17:04:23".
testStr = Format(testDateTime, "HH:mm:ss")
' Returns "23".
testStr = Format(23)

' User-defined numeric formats.
' Returns "5,459.40".
testStr = Format(5459.4, "##,##0.00")
' Returns "334.90".
testStr = Format(334.9, "###0.00")
' Returns "500.00%".
testStr = Format(5, "0.00%")

Commenti

Il String.Format metodo fornisce anche funzionalità simili.

Se si formatta una stringa numerica non localizzata, è consigliabile usare un formato numerico definito dall'utente per assicurarsi di ottenere l'aspetto desiderato.

Se si tenta di formattare un numero senza specificare Style, la Format funzione fornisce funzionalità simili alla Str funzione, anche se è compatibile a livello internazionale. Tuttavia, i numeri positivi formattati come stringhe che usano la Format funzione non includono uno spazio iniziale riservato per il segno del valore. Tali numeri convertiti usando la Str funzione mantengono lo spazio iniziale.

Formati diversi per valori numerici diversi

Un'espressione di formato definita dall'utente per i numeri può includere da una a tre sezioni separate da punti e virgola. Se l'argomento Style della Format funzione contiene uno dei formati numerici predefiniti, è consentita una sola sezione.

Se si usa Risultato:
Una sola sezione L'espressione di formato viene applicata a tutti i valori.
Due La prima sezione viene applicata ai valori positivi e agli zeri, la seconda ai valori negativi.
Tre La prima sezione viene applicata ai valori positivi, la seconda ai valori negativi e la terza agli zeri.

Nell'esempio seguente sono presenti due sezioni: la prima definisce il formato per i valori positivi e gli zeri; la seconda sezione definisce il formato per i valori negativi. Poiché l'argomento Style della Format funzione accetta una stringa, è racchiuso tra virgolette.

Dim style1 As String = "$#,##0;($#,##0)"

Se si specificano punti e virgola consecutivi, la sezione mancante viene stampata usando il formato dei valori positivi. Il formato seguente, ad esempio, visualizza valori positivi e negativi usando il formato nella prima sezione e visualizza Zero se il valore è zero.

Dim style2 As String = "$#,##0;;\Z\e\r\o"

Formati numerici predefiniti

La tabella seguente identifica i nomi dei formati numerici predefiniti. Questi possono essere usati per nome come Style argomento per la Format funzione:

Nome del formato Descrizione
General Number, Go g Visualizza il numero senza separatore delle migliaia.

Ad esempio Format(&H3FA, "g") restituisce 1018.
Currency, Co c Visualizza il numero con separatore delle migliaia, se appropriato; visualizza due cifre a destra del separatore decimale. L'output dipende dalle impostazioni locali del sistema.

Ad esempio Format(1234567, "c") restituisce $1,234,567.00.
Fixed, Fo f Il numero viene visualizzato con almeno una cifra a sinistra e due a destra del separatore decimale.

Ad esempio Format(1234567, "f") restituisce 1234567.00.
Standard, No n Visualizza il numero con separatore delle migliaia, almeno una cifra a sinistra e due cifre a destra del separatore decimale.

Ad esempio Format(1234567, "n") restituisce 1,234,567.00.
Percent Visualizza il numero moltiplicato per 100 con un segno di percentuale (%) aggiunto immediatamente a destra; visualizza sempre due cifre a destra del separatore decimale.

Ad esempio Format(0.4744, "Percent") restituisce 47.44%.
P o p Il numero viene visualizzato con il separatore delle migliaia, moltiplicato per 100 con un segno di percentuale (%) aggiunto immediatamente a destra e separato da uno spazio singolo. Inoltre viene visualizzato sempre con due cifre a destra del separatore decimale.

Ad esempio Format(0.80345, "p") restituisce 80.35 %.
Scientific Usa la notazione scientifica standard, che specifica die cifre significative.

Ad esempio Format(1234567, "Scientific") restituisce 1.23E+06.
E o e Viene utilizzata la notazione scientifica standard, specificando sei cifre significative.

Ad esempio Format(1234567, "e") restituisce 1.234567e+006.
D o d Il numero viene visualizzato come stringa contenente il valore del numero in formato decimale (in base 10). Questa opzione è supportata solo per i tipi integrali (Byte, Short, Integer, Long).

Ad esempio Format(&H7F, "d") restituisce 127.
X o x Il numero viene visualizzato come stringa contenente il valore del numero in formato esadecimale (in base 16). Questa opzione è supportata solo per i tipi integrali (Byte, Short, Integer, Long).

Ad esempio Format(127, "x") restituisce 7f.
Yes/No Visualizza No se il numero è 0; in caso contrario, visualizza Yes.

Ad esempio Format(0, "Yes/No") restituisce No.
True/False Visualizza False se il numero è 0; in caso contrario, visualizza True.

Ad esempio Format(1, "True/False") restituisce True.
On/Off Visualizza Off se il numero è 0; in caso contrario, visualizza On.

Ad esempio Format(1, "On/Off") restituisce On.

Note per gli sviluppatori di smart device

I Yes/Noformati , True/Falsee On/Off non sono supportati.

formati numerici User-Defined

La tabella seguente identifica i caratteri che è possibile usare per creare formati di numero definiti dall'utente. Questi possono essere usati per compilare l'argomento Style per la Format funzione :

Carattere Descrizione
nessuno Visualizza il numero senza formattazione.
(0) Segnaposto della cifra. Visualizza una cifra o uno zero. Se l'espressione ha una cifra nella posizione in cui viene visualizzato lo zero nella stringa di formato, visualizzarlo; in caso contrario, visualizza uno zero in tale posizione.

Se il numero include meno cifre di quanti siano gli zeri presenti nell'espressione di formato, su entrambi i lati del separatore decimale, vengono visualizzati zeri iniziali o finali. Se il numero ha più cifre a destra del separatore decimale di quanti siano gli zeri a destra del separatore decimale nell'espressione di formato, il numero viene arrotondato al numero di cifre decimali corrispondente al numero di zeri. Se il numero ha più cifre a sinistra del separatore decimale di quanti siano gli zeri a sinistra del separatore decimale nell'espressione di formato, vengono visualizzate le cifre aggiuntive senza alcuna modifica.
(#) Segnaposto della cifra. Visualizza una cifra o nulla. Se l'espressione ha una cifra nella posizione in cui il # carattere viene visualizzato nella stringa di formato, lo visualizza; in caso contrario, non visualizza nulla in tale posizione.

Questo simbolo funziona come il 0 segnaposto delle cifre, ad eccezione del fatto che gli zeri iniziali e finali non vengono visualizzati se il numero ha meno cifre di quelle presenti # su entrambi i lati del separatore decimale nell'espressione di formato.
(.) Segnaposto decimale. Il segnaposto decimale determina il numero di cifre visualizzate a sinistra e a destra del separatore decimale. Se l'espressione di formato contiene solo # caratteri a sinistra di questo simbolo; i numeri inferiori a 1 iniziano con un separatore decimale. Per visualizzare uno zero iniziale con i numeri frazionari, usare lo zero come primo segnaposto cifra a sinistra del separatore decimale. In alcune impostazioni locali viene usata la virgola come separatore decimale. Il carattere effettivo usato come segnaposto decimale nell'output formattato dipende dal formato numerico riconosciuto dal sistema. Pertanto, è necessario usare il punto come segnaposto decimale nei formati in uso anche se per le impostazioni locali configurate viene usata una virgola come segnaposto decimale. La stringa formattata sarà visualizzata nel formato corretto per le impostazioni locali.
(%) Segnaposto percentuale. Moltiplica l'espressione per 100. Il carattere di percentuale (%) viene inserito nella posizione in cui compare nella stringa di formato.
(,) Separatore delle migliaia. Il separatore delle migliaia separa le migliaia dalle centinaia all'interno di un numero con quattro o più posizioni a sinistra del separatore decimale. L'uso standard del separatore delle migliaia viene specificato se il formato contiene un separatore di migliaia racchiuso tra segnaposto di cifra (0 o #).

Un separatore di migliaia immediatamente a sinistra del separatore decimale (se è specificato o meno un separatore decimale) o come carattere più a destra nella stringa significa "ridimensionare il numero dividendo per 1.000, arrotondando in base alle esigenze". I numeri inferiori a 1.000 ma maggiori o uguali a 500 vengono visualizzati come 1e i numeri inferiori a 500 vengono visualizzati come 0. Due separatori delle migliaia adiacenti in questa posizione indicano di dividere per 1 milione e di un ulteriore fattore 1.000 per ogni separatore aggiuntivo.

Più separatori in una qualsiasi posizione diversa da immediatamente a sinistra del separatore decimale o all'estrema destra nella stringa vengono considerati semplicemente la specifica dell'uso di un separatore delle migliaia. In alcune impostazioni locali viene usato il punto come separatore delle migliaia. Il carattere effettivo usato come segnaposto delle migliaia nell'output formattato dipende dal formato numerico riconosciuto dal sistema. Pertanto, è necessario usare la virgola come separatore delle migliaia nei formati in uso anche se per le impostazioni locali configurate viene usato un punto come separatore delle migliaia. La stringa formattata sarà visualizzata nel formato corretto per le impostazioni locali.

Ad esempio, considerare le tre stringhe di formato seguenti:

- "#,0.", che usa il separatore delle migliaia per formattare il numero 100 milioni come stringa "100.000.000".
- "#0,.", che usa il ridimensionamento di un fattore di mille per formattare il numero 100 milioni come stringa "100000".
- "#,0,.", che usa il separatore delle migliaia e il ridimensionamento di 100 milioni per formattare il numero 100 milioni come stringa "100.000".
(:) Separatore dell'ora. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore dell'ora. Il separatore dell'ora separa le ore, i minuti e i secondi quando vengono formattati i valori di ora. Il carattere effettivo usato come separatore dell'ora nell'output formattato è determinato dalle impostazioni di sistema.
(/) Separatore della data. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore della data. Il separatore di data separa il giorno, il mese e l'anno in cui vengono formattati i valori di data. Il carattere effettivo usato come separatore della data nell'output formattato è determinato dalle impostazioni di sistema.
(E-``E+``e-``e+) Formato scientifico. Se l'espressione di formato contiene almeno un segnaposto di cifra (0 o #) a sinistra di E-, E+, e-o e+, il numero viene visualizzato in formato scientifico e E o e viene inserito tra il numero e il relativo esponente. Il numero di segnaposto cifra a sinistra determina il numero di cifre nell'esponente. Usare E- o e- per posizionare un segno meno accanto a esponenti negativi. Usare E+ o e+ per posizionare un segno meno accanto a esponenti negativi e un segno più accanto a esponenti positivi. È necessario includere anche segnaposto cifra a destra di questo simbolo per ottenere una formattazione corretta.
-+$ ( ) Caratteri letterali. Questi caratteri vengono visualizzati esattamente come vengono digitati nella stringa di formato. Per visualizzare un carattere diverso da uno di quelli elencati, anteporvi una barra rovesciata (\) o racchiuderlo tra virgolette doppie (" ").
(\) Visualizza il carattere successivo nella stringa di formato. Per visualizzare un carattere che ha un significato speciale come carattere letterale, farlo precedere da una barra rovesciata (\). La barra rovesciata non viene visualizzata. Utilizzare una barra rovesciata equivale a racchiudere il carattere successivo tra virgolette doppie. Per visualizzare una barra rovesciata, usare due barre rovesciate (\\).

Esempi di caratteri che non possono essere visualizzati come caratteri letterali sono i caratteri di formattazione di data e ora (a, c, d, hm, , , nqyw/tspe :), i caratteri di formattazione numerica (#, , 0E%, , e, virgola e punto) e i caratteri di formattazione delle stringhe (@, &, <>, e ).!
("``ABC``") Visualizza la stringa racchiusa tra virgolette doppie (" "). Per includere una stringa nell'argomento di stile dall'interno del codice, è necessario usare Chr(34) per racchiudere il testo (34 è il codice carattere per una virgoletta (")).

Esempio di codice precedente

La tabella seguente contiene alcune espressioni di formato di esempio per i numeri. Questi esempi presuppongono che l'impostazione delle impostazioni locali del sistema sia inglese-statunitense. La prima colonna contiene le stringhe di formato per l'argomento Style della Format funzione. Le altre colonne contengono l'output risultante se i dati formattati hanno il valore specificato nelle intestazioni di colonna.

Formato (Style) "5" è formattato come "-5" è formattato come "0.5" è formattato come
Zero-length string ("") 5 -5 0.5
0 5 -5 1
0.00 5.00 -5.00 0.50
#,##0 5 -5 1
$#,##0;($#,##0) $5 ($5) $1
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50
0% 500% -500% 50%
0.00% 500.00% -500.00% 50.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01
0.00E-00 5.00E00 -5.00E00 5.00E-01

Formati di data/ora predefiniti

La tabella seguente identifica i nomi dei formati di data e ora predefiniti. Questi possono essere usati per nome come argomento di stile per la Format funzione:

Nome del formato Descrizione
General Date o G Vengono visualizzate una data e/o un'ora. Ad esempio: 3/12/2008 11:07:31 AM. La visualizzazione relativa alla data è determinata dal valore delle impostazioni cultura correnti dell'applicazione.
Long Date, Medium Dateo D Visualizza una data in base al formato di data estesa delle impostazioni cultura correnti. Ad esempio: Wednesday, March 12, 2008.
Short Date o d Visualizza una data in base al formato di data breve delle impostazioni cultura correnti. Ad esempio: 3/12/2008.

Il d carattere visualizza il giorno in un formato di data definito dall'utente.
Long Time, Medium Timeo T Visualizza un'ora in base al formato ora estesa delle impostazioni cultura correnti; in genere comprende ore, minuti, secondi. Ad esempio: 11:07:31 AM.
Short Time o t Viene visualizzata un'ora in base al formato ora breve delle impostazioni cultura correnti. Ad esempio: 11:07 AM.

Il t carattere visualizza AM o PM i valori per le impostazioni locali che usano un orologio di 12 ore in un formato di ora definito dall'utente.
f Viene visualizzata la data estesa e l'ora breve in base al formato delle impostazioni cultura correnti. Ad esempio: Wednesday, March 12, 2008 11:07 AM.
F Viene visualizzata la data estesa e l'ora estesa in base al formato delle impostazioni cultura correnti. Ad esempio: Wednesday, March 12, 2008 11:07:31 AM.
g Viene visualizzata la data breve e l'ora breve in base al formato delle impostazioni cultura correnti. Ad esempio: 3/12/2008 11:07 AM.
M, m Vengono visualizzati il mese e il giorno di una data. Ad esempio: March 12.

Il M carattere visualizza il mese in un formato di data definito dall'utente. Il m carattere visualizza i minuti in un formato di ora definito dall'utente.
R, r Formatta la data in base alla RFC1123Pattern proprietà . Ad esempio: Wed, 12 Mar 2008 11:07:31 GMT. La data formattata non consente di regolare il valore della data e ora. È necessario modificare il valore di data/ora su GMT prima di chiamare la Format funzione.
s Consente di formattare la data e ora come indice ordinabile. Ad esempio: 2008-03-12T11:07:31.

Il s carattere visualizza i secondi in un formato di ora definito dall'utente.
u Consente di formattare la data e ora come indice ordinabile GMT. Ad esempio: 2008-03-12 11:07:31Z.
U Consente di formattare la data e ora con la data e l'ora estese in base al fuso orario GMT. Ad esempio: Wednesday, March 12, 2008 6:07:31 PM.
Y, y Consente di formattare la data come anno e mese. Ad esempio: March, 2008.

I Y caratteri e y visualizzano l'anno in un formato di data definito dall'utente.

Per altre informazioni sulle impostazioni cultura correnti dell'applicazione, vedere Impatto delle impostazioni cultura sulle stringhe in Visual Basic.

formati di data/ora User-Defined

La tabella seguente mostra i caratteri che è possibile usare per creare formati di data/ora definiti dall'utente. A differenza delle versioni precedenti di Visual Basic, questi caratteri di formato fanno distinzione tra maiuscole e minuscole.

Carattere Descrizione
(:) Separatore dell'ora. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore dell'ora. Il separatore dell'ora separa le ore, i minuti e i secondi quando vengono formattati i valori di ora. Il carattere effettivo usato come separatore dell'ora nell'output formattato è determinato dal valore delle impostazioni cultura correnti dell'applicazione.
(/) Separatore della data. In alcune impostazioni locali potrebbero essere usati altri caratteri per rappresentare il separatore della data. Il separatore di data separa il giorno, il mese e l'anno in cui vengono formattati i valori di data. Il carattere effettivo usato come separatore della data nell'output formattato è determinato dalle impostazioni cultura correnti dell'applicazione.
(%) Usato per indicare che il carattere successivo deve essere letto come un formato a lettera singola indipendentemente dalle lettere finali. Usato anche per indicare che un formato a lettera singola viene letto come un formato definito dall'utente. Vedere di seguito per altri dettagli.
d Visualizza il giorno come numero senza zero iniziale ( ad esempio , 1). Usare %d se si tratta dell'unico carattere nel formato numerico definito dall'utente.
dd Visualizza il giorno come numero con zero iniziale ( ad esempio , 01).
ddd Visualizza il giorno come abbreviazione ( ad esempio , Sun).
dddd Visualizza il giorno come nome completo , ad esempio Sunday.
M Visualizza il mese come numero senza uno zero iniziale , ad esempio gennaio è rappresentato come 1. Usare %M se si tratta dell'unico carattere nel formato numerico definito dall'utente.
MM Visualizza il mese come numero con zero iniziale ( ad esempio , 01/12/01).
MMM Visualizza il mese come abbreviazione ( ad esempio , Jan).
MMMM Visualizza il mese come nome completo del mese , ad esempio January.
gg Visualizza la stringa period/era , ad esempio A.D..
h Visualizza l'ora come numero senza zero iniziali usando l'orologio di 12 ore , ad esempio 1:15:15 PM. Usare %h se si tratta dell'unico carattere nel formato numerico definito dall'utente.
hh Visualizza l'ora come numero con zero iniziali usando l'orologio di 12 ore , ad esempio 01:15:15 PM.
H Visualizza l'ora come numero senza zero iniziali usando l'orologio di 24 ore , ad esempio 1:15:15. Usare %H se si tratta dell'unico carattere nel formato numerico definito dall'utente.
HH Visualizza l'ora come numero con zero iniziali usando l'orologio di 24 ore , ad esempio 01:15:15.
m Visualizza il minuto come numero senza zero iniziali , ad esempio 12:1:15. Usare %m se si tratta dell'unico carattere nel formato numerico definito dall'utente.
mm Visualizza il minuto come numero con zero iniziali ( ad esempio , 12:01:15).
s Visualizza il secondo come numero senza zero iniziali (ad esempio, 12:15:5). Usare %s se si tratta dell'unico carattere nel formato numerico definito dall'utente.
ss Visualizza il secondo come numero con zero iniziali ( ad esempio , 12:15:05).
f Consente di visualizzare le frazioni di secondo. Ad esempio ff , vengono visualizzati i centesimi di secondi, mentre ffff vengono visualizzati dieci migliaia di secondi. È possibile usare fino a sette f simboli nel formato definito dall'utente. Usare %f se si tratta dell'unico carattere nel formato numerico definito dall'utente.
t Usa l'orologio di 12 ore e visualizza un carattere maiuscolo per qualsiasi ora prima dell'ora; visualizza un'ora maiuscola A per qualsiasi ora tra mezzogiorno e 11:59 P.M. Usa %t se si tratta dell'unico carattere nel formato numerico definito dall'utente.P
tt Per le impostazioni locali che usano un orologio di 12 ore, visualizza una maiuscola AM con qualsiasi ora prima del mezzogiorno; visualizza un'ora PM con qualsiasi ora compresa tra mezzogiorno e 11:59 P.M.

Per le impostazioni locali in cui viene utilizzato il formato a 24 ore, non viene visualizzato nulla.
y Visualizza il numero dell'anno (0-9) senza zeri iniziali. Usare %y se si tratta dell'unico carattere nel formato numerico definito dall'utente.
yy Visualizza l'anno in formato numerico a due cifre con uno zero iniziale, se applicabile.
yyy Visualizza l'anno in formato numerico a quattro cifre.
yyyy Visualizza l'anno in formato numerico a quattro cifre.
z Visualizza l'offset del fuso orario senza zero iniziale , ad esempio -8. Usare %z se si tratta dell'unico carattere nel formato numerico definito dall'utente.
zz Visualizza l'offset del fuso orario con zero iniziale (ad esempio, -08)
zzz Visualizza l'offset del fuso orario completo (ad esempio, -08:00)

Esempio di codice precedente

Di seguito sono riportati esempi di formati di data e ora definiti dall'utente per December 7, 1958, 8:50 PM, 35 seconds:

Formato Visualizza
M/d/yy 12/7/58
d-MMM 7-Dec
d-MMMM-yy 7-December-58
d MMMM 7 December
MMMM yy December 58
hh:mm tt 08:50 PM
h:mm:ss t 8:50:35 P
H:mm 20:50
H:mm:ss 20:50:35
M/d/yyyy H:mm 12/7/1958 20:50

Note sugli sviluppatori di smart device

La risoluzione minima del tempo per un dispositivo è determinata dal produttore del dispositivo. Se la risoluzione del tempo per il dispositivo è abbastanza grossolana, il f carattere di formato restituisce 0 quando viene eseguito nel dispositivo.

Si applica a

Vedi anche