Funzione Format

Converte un'espressione numerica in una stringa e la formatta in base al formato specificato.

Sintassi:


Format(espressione [, format As String]) As String

Parametri:

espressione: espressione numerica da convertire in una stringa formattata.

formato: stringa che specifica il codice del formato da usare per il numero. Se formato è omesso, la funzione Format si comporta come la funzione Str() di LibreOffice Basic.

Tipo di ritorno:

Stringa di testo.

Codici di formato

In BASIC, un codice di formato può essere diviso in tre sezioni separate da punti e virgola. La prima parte definisce il formato per i valori positivi, la seconda il formato per i valori negativi, la terza il formato per lo zero. Se specificate un solo codice di formato, questo viene applicato a tutti i numeri.

È possibile configurare le impostazioni locali utilizzate in LibreOffice Basic per la formattazione di numeri, date e valute in - Lingue e impostazioni locali - Generale. Nei codici di formato Basic, il punto decimale (.) viene sempre usato come segnaposto per il separatore dei decimali definito nelle impostazioni locali e sarà sostituito dal carattere corrispondente.

Lo stesso vale per le impostazioni di data, ora e valuta. Il codice in formato Basic viene interpretato e visualizzato in base alla versione locale prescelta.

L'elenco seguente descrive i codici che potete utilizzare per formattare un'espressione numerica:

Codice

Descrizione

0

Se l'espressione presenta una cifra nella posizione dello 0 nel codice formato, viene mostrata quella cifra, altrimenti viene visualizzato uno zero.

Se espressione è formata da un numero inferiore di cifre rispetto al numero di zeri del codice del formato (da qualunque parte del separatore decimale), viene visualizzato il numero appropriato di zeri iniziali o finali. Se a sinistra del separatore decimale l'espressione contiene più cifre rispetto al numero di zeri del codice del formato, le cifre aggiuntive vengono visualizzate senza modifiche.

I decimali dell'espressione vengono arrotondati in base al numero di zeri che compaiono dopo il separatore decimale nel codice del formato.

#

Se l'espressione presenta una cifra nella posizione del segnaposto # nel codice formato, viene visualizzata quella cifra; diversamente, in quella posizione non viene visualizzato nulla.

Questo simbolo è gestito come lo 0, ad eccezione del fatto che gli zeri iniziali e finali non vengono visualizzati se il codice del formato contiene più caratteri # delle cifre dell'espressione. Vengono visualizzate solo le cifre rilevanti dell'espressione.

. (period)

Il segnaposto decimale determina il numero di posti decimali a sinistra e a destra del separatore.

Se il codice del formato contiene solo caratteri segnaposto # a sinistra di questo simbolo, i numeri inferiori a 1 iniziano con un separatore decimale. Per visualizzare sempre uno zero all'inizio dei numeri decimali, usate 0 come segnaposto per la prima cifra a sinistra del separatore decimale.

L'uso del punto come separatore per le migliaia o come separatore decimale dipende dalle impostazioni regionali. Il carattere effettivamente visualizzato come separatore decimale dipende dal formato numerico impostato nel vostro sistema. Gli esempi qui illustrati si riferiscono a un sistema con l'impostazione locale "US".

%

Moltiplica l'espressione per 100 e inserisce il segno percentuale (%) nel punto in cui l'espressione compare nel codice formato.

E- E+ e- e+

Se il codice del formato contiene almeno un segnaposto per una cifra (0 o #) a destra del simbolo E-, E+, e- o e+, l'espressione viene formattata con la notazione scientifica o esponenziale. La lettera E o e viene inserita tra il numero e l'esponente. Il numero di segnaposti per le cifre a destra del simbolo determina il numero di cifre dell'esponente.

Se l'esponente è negativo, viene visualizzato un segno meno direttamente davanti agli esponenti con E-, E+, e-, e+. Se l'esponente è positivo, viene visualizzato solo un segno più davanti agli esponenti con E+ o e+.

- + $ ( ) space

: i caratteri più (+), meno (-), dollaro ($), spazio o parentesi inseriti direttamente nel codice del formato vengono visualizzati in modo letterale.

\

Per visualizzare caratteri diversi da quelli qui elencati, dovete farli precedere da una barra rovesciata (\) o racchiuderli tra virgolette (" ").

La barra rovesciata visualizza il carattere successivo nel codice del formato.

I caratteri del codice del formato che possiedono un significato speciale possono essere visualizzati in modo letterale solo se sono preceduti da una barra rovesciata. In questi casi, la barra rovesciata non viene visualizzata, a meno che non sia anch'essa preceduta da una barra rovesciata (\\).

I caratteri che devono essere preceduti da una barra rovesciata nel codice del formato per essere visualizzati in modo letterale sono i caratteri di formattazione della data e dell'ora (a, c, d, h, m, n, p, q, s, t, w, y, /, :), i caratteri di formattazione dei numeri (#, 0, %, E, e, virgola, punto) e i caratteri di formattazione delle stringhe (@, &, <, >, !).


Formati predefiniti

In alternativa, potete usare i seguenti formati numerici predefiniti. Ad eccezione di "Numero generale", tutti i codici di formato predefiniti restituiscono un numero decimale con due cifre dopo il separatore.

Per usare i formati predefiniti, dovete indicarne il nome tra virgolette.

Codice

Descrizione

"<"

Converte l'espressione in lettere minuscole

">"

Converte l'espressione in lettere maiuscole.

"c" or "General Date"

Restituisce l'espressione numerica in formato data breve, opzionalmente con "H:MM:SS AM/PM". Se l'espressione è una stringa, restituisce quella stringa.

"n"

Restituisce il minuto dell'espressione numerica, con 1 o 2 cifre decimali.

"nn"

Restituisce il minuto dell'espressione numerica, con due cifre decimali.

"w"

Restituisce il giorno della settimana dell'espressione numerica. 1 indica domenica e 7 sabato.

"General Number"

Restituisce l'espressione numerica con 12 cifre decimali (0.############).

"Currency"

Restituisce l'espressione numerica nella valuta delle impostazioni locali.

"Fixed"

Restituisce l'espressione numerica con 2 posizioni decimali (0,00).

"Standard"

Restituisce l'espressione numerica con separatore delle migliaia e 2 decimali (@0,00).

"Percent"

Restituisce l'espressione numerica come valore percentuale (0,00%).

"Scientific"

Restituisce l'espressione numerica in notazione scientifica (#.00E+00);

"Yes/No"

Restituisce "Sì" se l'espressione numerica è uguale a zero, altrimenti "No". "Sì" e "No" vengono localizzati.

"True/False"

Restituisce "Vero" se l'espressione numerica non equivale a zero, altrimenti "Falso". "Vero" e "Falso" vengono localizzati.

"On/Off"

Restituisce "Attivo" se l'espressione numerica non equivale a zero, altrimenti "Spento". "Attivo" e "Spento" vengono localizzati.

"Long Date" or "dddddd"

Restituisce l'espressione numerica nel formato data estesa del sistema, che dipende dalle impostazioni locali.

"Medium Date"

Restituisce l'espressione numerica nel formato data GG-MMM-AA, che dipende dalle impostazioni locali.

"Short Date" or "ddddd"

Restituisce l'espressione numerica nel formato data breve del sistema, che dipende dalle impostazioni locali.

"Long Time" or "ttttt"

Restituisce l'espressione numerica nel formato orario esteso del sistema, che dipende dalle impostazioni locali ("H:MM:SS AM/PM").

"Medium Time"

Restituisce l'espressione numerica nel formato orario medio del sistema, che dipende dalle impostazioni locali (H:MM AM/PM).

"Short Time"

Restituisce l'espressione numerica nel formato orario breve del sistema, che dipende dalle impostazioni locali (HH:MM).


Codici di errore:

5 Richiamo di procedura non valido

Esempio:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' inserendo i numeri in codice sorgente Basic, utilizzate sempre un punto come separatore decimale.
    ' visualizza, ad esempio, 6,328.20 nella versione locale inglese, 6.328,20 in quella tedesca.
msgbox Format("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' restituisce abcdefghijklmnopqrstuvwxyz1234567890, le cifre non vengono variate.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' restituisce ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, le cifre non vengono variate.
msgBox Format(12345.6,"c") ' restituisce il numero nel formato data come 18/10/33 2:24:00 PM per le impostazioni locali della lingua tedesca.
msgBox Format(12345.6,"General Date") ' come per "c".
msgbox format(12345.004,"n") ' restituisce 5
msgbox format(12345.004,"nn") ' restituisce 05
msgbox format(12345.6,"w") ' restituisce 4 (Mercoledì).
msgbox format(log(123),"General Number") ' restituisce 4,812184355372 per le impostazioni locali della lingua tedesca.
msgbox format(123456.7890,"Fixed") ' 123456.79
msgbox format(123456.1234,"Fixed") ' 123456.12
msgbox format(123456.7890,"Standard") '123,456.79
msgbox format(123456.1234,"Standard") '123,456.12
msgbox format(12.3456,"Percent") ' 1234.56%
msgbox format(0.123456,"Percent") '12.35%
msgbox format(123,"Yes/No") ' restituisce "Sì" tradotto in base alle impostazioni locali
msgbox format(0,"Yes/No") ' restituisce "No" tradotto in base alle impostazioni locali
msgbox format(-1,"True/False") ' restituisce "Vero" tradotto in base alle impostazioni locali
msgbox format(123,"On/Off") ' restituisce "Attivo" tradotto in base alle impostazioni locali
msgbox format(45756.73,"Long Date") ' restituisce Mercoledì, 9 aprile 2025 in base alle impostazioni locali
End Sub

Sostienici!