[PIPython] (senza oggetto)
Alex Martelli
aleaxit
Ven 19 Nov 2004 15:16:41 CET
On Monday 12 January 2004 03:25 pm, giorni a cerm.unifi.it wrote:
> Ciao a tutti
>
> non riesco a stampare a video un numero di tipo "float" con una quantita'
> di cifre decimali minore di quella standard.
>
> Scusate per la banalita' della domanda e grazie in anticipo per le risposte
Ecco un esempio:
>>> from math import pi
>>> print pi
3.14159265359
>>> print '%.2f' % pi
3.14
la str(pi), che implicitamente print esegue quando un argomento passatogli non
e` una stringa, usa un certo numero di cifre di default. Fra i molti modi di
generare esplicitamente una stringa formattata partendo da un numero float,
l'operatore di formattazione % e` il piu` potente e generale. La stringa di
formato, operando di sinistra del %, segue + o - le stesse convenzioni di
quelle usate dalla popolare funzione C "printf" (le ho documentate in maggior
dettaglio in "Python in a Nusthell", naturalmente). In particolare,
l'elemento di formattazione %.2f indica di formattare un float in un campo di
lunghezza arbitraria ma con esattamente due cifre dopo il punto decimale.
Notiamo, tra l'altro, che la formattazione _arrotonda_ correttamente...:
>>> print '%.4f' % pi
3.1416
>>> print '%.3f' % pi
3.142
Alex
More information about the Python
mailing list