Condividi tramite


Modulo Core.Printf (F#)

Formattazione stile printf estendibile per numeri e altri tipi di dati.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Core

Assembly: FSharp.Core (in FSharp.Core.dll)

module Printf

Note

Le specifiche di formato sono costituite da stringhe con marcatori % che identificano i segnaposto di formato. I segnaposti di formato sono costituiti da: %[flags][width][.precision][type] in cui il tipo viene interpretato come indicato nella tabella seguente:

Type

Descrizione

%b

Formatta un elemento bool, formattato come true o false.

%c

Formatta un carattere.

%s

Formatta un elemento string, formattato come il contenuto, senza interpretare eventuali caratteri di escape.

%d, %i

Formatta qualsiasi tipo Integer di base formattato come Integer decimale, con segno se lo è anche il tipo Integer.

%u

Formatta qualsiasi tipo Integer di base formattato come Integer decimale senza segno.

%x

Formatta qualsiasi tipo Integer di base formattato come Integer esadecimale senza segno, utilizzando lettere minuscole dalla a alla f.

%X

Formatta qualsiasi tipo Integer di base formattato come Integer esadecimale senza segno, utilizzando lettere maiuscole dalla A alla F.

%o

Formatta qualsiasi tipo Integer di base formattato come Integer ottale senza segno.

%e, %E, %f, %F, %g, %G

Formatta qualsiasi tipo a virgola mobile di base (float, float32) formattato mediante le specifiche di formato a virgola mobile di tipo C.

%e, %E

Formatta un valore con segno che presenta il formato [-]d.dddde[sign]ddd in cui d è costituito da una sola cifra decimale, dddd è costituito da una o più cifre decimali, ddd è costituito da tre cifre decimali e "sign" è il segno + o -.

%f

Formatta un valore con segno che presenta il formato [-]dddd.dddd, in cui dddd è costituito da una o più cifre decimali. Il numero di cifre prima del separatore decimale dipende dalla grandezza del numero, mentre il numero di cifre dopo il separatore decimale dipende dalla precisione richiesta.

%g, %G

Formatta un valore con segno espresso nel formato f o e, a seconda di quale sia più compatto per il valore e la precisione specificati.

%M

Formatta un valore Decimal.

%O

Formatta qualsiasi valore, visualizzato mediante boxing dell'oggetto e utilizzando il metodo ToString.

%A, %+A

Formatta qualsiasi valore, visualizzato con le impostazioni di layout predefinite. Utilizzare %+A per stampare la struttura delle unioni discriminate con rappresentazioni interne e private.

%a

Identificatore di formato generico che necessita di due argomenti. Il primo argomento è rappresentato da una funzione che utilizza due argomenti: il primo è un parametro di contesto del tipo adatto per la funzione di formattazione specificata (ad esempio, TextWriter) e il secondo è un valore da visualizzare e che genera o restituisce il testo appropriato.

Il secondo argomento è il valore specifico da visualizzare.

%t

Identificatore di formato generico che necessita di un argomento: una funzione che accetta un parametro di contesto del tipo appropriato per la funzione di formattazione specificata (un TextWriter) e che genera o restituisce il testo appropriato. byte, sbyte, int16, uint16, int32, uint32, int64, uint64, nativeint e unativeint sono tipi Integer di base. float e float32 sono tipi a virgola mobile di base.

width (facoltativo) è un Integer che indica la larghezza minima del risultato. %6d visualizza ad esempio un Integer preceduto da un numero di spazi necessario per riempire almeno 6 caratteri. Se la larghezza è *, verrà utilizzato un argomento Integer aggiuntivo per specificare la larghezza corrispondente.

Nella tabella seguente vengono descritti flag validi.

0

Indica di aggiungere zeri anziché spazi per riempire la larghezza obbligatoria.

-

Indica di giustificare a sinistra il risultato all'interno della larghezza specificata.

+

Indica di aggiungere un carattere + se il numero è positivo (per una corrispondenza con il segno - per i numeri negativi).

' ' (spazio)

Indica di aggiungere uno spazio aggiuntivo se il numero è positivo (per una corrispondenza con il segno - per i numeri negativi).

#

Non valido.

Abbreviazioni dei tipi

Type

Descrizione

tipo BuilderFormat<'T,'Result>

Rappresenta un formato analizzato in modo statico associato alla scrittura in un elemento StringBuilder. Il primo parametro di tipo indica gli argomenti dell'operazione di formattazione, mentre l'ultimo parametro rappresenta il tipo generale restituito.

tipo BuilderFormat<'T>

Rappresenta un formato analizzato in modo statico associato alla scrittura in un elemento StringBuilder. Il parametro di tipo indica gli argomenti dell'operazione di formattazione e il relativo tipo restituito.

tipo StringFormat<'T,'Result>

Rappresenta un formato analizzato staticamente nel caso in cui la formattazione compila una stringa. Il primo parametro di tipo indica gli argomenti dell'operazione di formattazione, mentre l'ultimo parametro rappresenta il tipo generale restituito.

tipo StringFormat<'T>

Rappresenta un formato analizzato staticamente nel caso in cui la formattazione compila una stringa. Il parametro di tipo indica gli argomenti dell'operazione di formattazione e il relativo tipo restituito.

tipo TextWriterFormat<'T,'Result>

Rappresenta un formato analizzato in modo statico associato alla scrittura in un elemento TextWriter. Il primo parametro di tipo indica gli argomenti dell'operazione di formattazione, mentre l'ultimo parametro rappresenta il tipo generale restituito.

tipo TextWriterFormat<'T>

Rappresenta un formato analizzato in modo statico associato alla scrittura in un elemento TextWriter. Il parametro di tipo indica gli argomenti dell'operazione di formattazione e il relativo tipo restituito.

Valori

Valore

Descrizione

bprintf : StringBuilder -> BuilderFormat<'T> -> 'T

Stampa a StringBuilder.

eprintf : TextWriterFormat<'T> -> 'T

Stampa l'output formattato in stderr.

eprintfn : TextWriterFormat<'T> -> 'T

Stampa l'output formattato in stderr, aggiungendo una nuova riga.

failwithf : StringFormat<'T,'Result> -> 'T

Stampa in un buffer di stringa e genera un'eccezione con il risultato specificato. Le stampanti helper devono restituire stringhe.

fprintf : TextWriter -> TextWriterFormat<'T> -> 'T

Stampa in un writer di testo.

fprintfn : TextWriter -> TextWriterFormat<'T> -> 'T

Stampa in un writer di testo aggiungendo un carattere di nuova riga.

kbprintf : (unit -> 'Result) -> StringBuilder -> BuilderFormat<'T,'Result> -> 'T

Analogo a bprintf, ma richiama la funzione specificata per generare il risultato. Consultare kprintf.

kfprintf : (unit -> 'Result) -> TextWriter -> TextWriterFormat<'T,'Result> -> 'T

Analogo a fprintf, ma richiama la funzione specificata per generare il risultato. Consultare kprintf.

kprintf : (string -> 'Result) -> StringFormat<'T,'Result> -> 'T

Analogo a printf, ma richiama la funzione specificata per generare il risultato. Ad esempio, in fase di stampa ciò consente di forzare uno scaricamento dopo l'immissione sul canale di tutti gli output, ma non prima.

ksprintf : (string -> 'Result) -> StringFormat<'T,'Result> -> 'T

Analogo a sprintf, ma richiama la funzione specificata per generare il risultato. Consultare kprintf.

printf : TextWriterFormat<'T> -> 'T

Stampa l'output formattato in stdout.

printfn : TextWriterFormat<'T> -> 'T

Stampa l'output formattato in stdout, aggiungendo una nuova riga.

sprintf : StringFormat<'T> -> 'T

Stampa in una stringa tramite un buffer di stringa interno e restituisce il risultato sotto forma di stringa. Le stampanti helper devono restituire stringhe.

Piattaforme

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informazioni sulla versione

Versioni della libreria di base di F#

Supportato in: 2.0, 4.0, portabile

Supportato in: 2, 3

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.FSharp.Core (F#)