Python 3 - Formattazione dei print

Buona sera a tutti,
dovrei realizzare un print formattato con python 3

Dato un valore numerico es: 1.0166 dovrei ottenere con un print 01.0166

di seguito lo script che sto cercando di realizzare

var è un valore a virgola mobile, mentre il formato 'd' si aspetta un
intero.

Prova con 'f':
print('{:07.4f}'.format(var))

Thomas

PS: la funzione str() non è necessaria: la funzione str.format() ritorna
una stringa (che non deve essere convertita in una stringa ;-))

Ciao Thomas,
funziona grazie, ti chiedo una cortesia, potresti spiegarmi il {:07.4f}

Grazie 1000

ciao
a

: ... inizia la stringa che descrive il formato
f ... il valore da formattare è un float
07.4 ... sette caratteri in totale, di cui 4 caratteri dopo la virgola.
Se il numero è più corto di 7 caratteri, inserisci dei 0 a sinistra.

Tutta la sintassi è descritta qua,
https://docs.python.org/3.4/library/string.html#format-string-syntax Una
volta che hai capito il concetto, questa pagina diventa abbastanza
comprensibile. :slight_smile:

Su questa pagina, il formato viene definito come:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

Nel tuo esempio i valori sono:
0 -> 0
width -> 7
.precision -> 4
type -> f

Prova con questi esempi per vedere cosa fanno i diversi campi

var=1.0166
'{:7.4f}'.format(var)
'{:7.0f}'.format(var)
'{:.4f}'.format(var)
'{}'.format(var)

Thomas

Tutto chiaro e perfetto.

Grazie ancora
a