[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