Funzione Format per gli utenti di Visual Basic 6.0
Aggiornamento: novembre 2007
La funzione Format di Visual Basic 2008 segue le specifiche di CLR (Common Language Runtime) per la formattazione dei dati. Per ulteriori informazioni sulla formattazione dei dati in .NET Framework, vedere Formattazione dei tipi di dati.
Nelle sezioni seguenti vengono fornite informazioni dettagliate sulle modifiche apportate da Visual Basic 2008 ai formati definiti dall'utente data/ora, numerico e di stringa.
Formati di data/ora definiti dall'utente
Visual Basic 6.0
Per visualizzare una data in formato breve o lungo in Visual Basic 6.0, è possibile utilizzare l'identificatore di formato "ddddd" o "dddddd". Gli identificatori DayOfWeek ("w") e WeekOfYear ("ww") consentono di visualizzare, rispettivamente, il giorno considerato come primo giorno della settimana e la settimana considerata come prima settimana dell'anno. Il carattere minuscolo "m" consente di visualizzare il mese sotto forma di numero non preceduto dallo zero. L'identificatore Quarter ("q") consente di visualizzare il trimestre dell'anno sotto forma di numero da 1 a 4.
Per visualizzare un minuto sotto forma di numero, preceduto o non preceduto da zero, è possibile utilizzare gli identificatori di formato "Nn" o "N". I caratteri "Hh" consentono di visualizzare l'ora sotto forma di numero preceduto da zero e i caratteri "ttttt" consentono di visualizzare l'ora completa. Per visualizzare i caratteri "A" o "P" maiuscoli o minuscoli per indicare un'ora precedente o successiva al mezzogiorno, vengono utilizzati i caratteri "AM/PM", "am/pm", "A/P", "a/p" o "AMPM".
L'identificatore Short Date/Time ("c") consente di visualizzare una data e un'ora nel formato "ddddd ttttt".
Visual Basic 2005
In Visual Basic 2008 "ddddd" e "dddddd" consentono di visualizzare il nome completo del giorno, esattamente come "dddd". Non consentono la visualizzazione del formato di data breve e del formato di data lungo. Gli identificatori DayOfWeek ("w") e WeekOfYear ("ww") non sono supportati. Tuttavia, è possibile utilizzare la funzione DatePart, come mostrato nell'esempio seguente.
Format(DatePart(DateInterval.Weekday, Now))
...
Format(DatePart(DateInterval.WeekOfYear, Now))
"M" e "m" si riferiscono ad elementi diversi, quindi è prevista la distinzione tra maiuscole e minuscole. Utilizzare il carattere "M" maiuscolo solo per il mese nella porzione di data di un formato data/ora e il carattere "m" minuscolo solo per i minuti nella porzione relativa all'ora.
L'identificatore di formato Quarter non è supportato. Tuttavia, è possibile utilizzare la funzione DatePart, come mostrato nell'esempio seguente.
Format(DatePart(DateInterval.Quarter, Now))
Per visualizzare i minuti sotto forma di numero preceduto o non preceduto da zeri, utilizzare rispettivamente "mm" o "m". Il formato "ttttt" non è più supportato. "H" e "h" si riferiscono ad elementi diversi, quindi è prevista la distinzione tra maiuscole e minuscole. Utilizzare il carattere "H" maiuscolo solo per il formato a 24 ore e il carattere "h" minuscolo solo per il formato a 12 ore. I formati AM/PM sono stati sostituiti da "t" e "tt".
L'indicatore "c" è utilizzato per la formattazione della valuta. Per la formattazione data/ora, utilizzare "g" come indicatore Short Date/Time e "G" come indicatore generale di data/ora. Per entrambi gli indicatori "g" e "G" si utilizzano le impostazioni internazionali correnti per determinare i formati appropriati di data e ora.
Formati numerici definiti dall'utente
Visual Basic 6.0
In Visual Basic 6.0, la funzione Format converte le stringhe in numeri prima di formattarle, se necessario. Tale funzione, inoltre, riporta un separatore decimale anche in assenza di parte frazionaria.
In Visual Basic 6.0 la stringa di formattazione prevede quattro sezioni. Queste sezioni sono separate de punti e virgola (;) e specificano il modo in cui formattare valori positivi, negativi, nulli e di tipo null, rispettivamente. I numeri negativi aventi la sezione negativa della stringa di formato vuota vengono visualizzati come una stringa vuota.
La formattazione della notazione scientifica supporta entrambi i segnaposto "0" e "#" dopo l'esponente.
Visual Basic 2005
In Visual Basic 2008, la funzione Format non converte le stringhe in numeri prima di formattarle. È necessario passare un numero nel primo argomento, non una stringa. Nell'esempio riportato di seguito, a differenza della prima, la seconda riga di codice Visual Basic 2008 porta al risultato desiderato.
MsgBox(Format("1.234", "#.#")) ' Displays "#.#".
...
MsgBox(Format(CSng("1.234"), "#.#")) ' Displays "1.2".
I separatori decimali non vengono visualizzati, come illustrato nell'esempio seguente.
MsgBox(Format(123, "###.")) ' Displays "123"
...
MsgBox(Format(123, "###.#")) ' Displays "123"
In Visual Basic 2008 la stringa di formattazione prevede tre sezioni per formattare, rispettivamente, i valori positivi, negativi e nulli. Se un valore diverso da zero viene arrotondato a zero in base alla prima o alla seconda sezione di formato, lo zero viene formattato in base alla terza sezione. I numeri negativi aventi la sezione negativa della stringa di formato vuota vengono visualizzati come un segno meno, come mostrato nell'esempio seguente.
MsgBox(Format(-1, ";")) ' Displays "-".
La formattazione della notazione scientifica supporta solo il segnaposto "0", non "#". Nell'esempio riportato di seguito, a differenza della prima, la seconda riga di codice Visual Basic 2008 porta al risultato desiderato.
MsgBox(Format(123, "#e+#")) ' Displays "12e+3".
...
MsgBox(Format(123, "#e+0")) ' Displays "1e+2".
Formato di stringhe
Visual Basic 6.0
In Visual Basic 6.0 mediante gli identificatori @, &, <, > e ! è possibile creare espressioni per stringhe di formato definite dall'utente.
Visual Basic 2005
In Visual Basic 2008 il supporto per le stringhe di formato definite dall'utente è stato eliminato, quindi gli identificatori di formato @, &, <, > e ! risultano privi di significato e non sono più supportati.
Vedere anche
Concetti
Data e ora per gli utenti di Visual Basic 6.0
Riepilogo delle modifiche al supporto degli elementi di programmazione