numeri float formattazione pitone
Domanda
il mio ingresso è 3.23, ma quando uso galleggiante su di esso, diventa 3.2,
quando il mio ingresso è 3,00, quando faccio galleggiare su di esso, diventa 3.0
quando si converte a stare a galla da stringa, ho ancora voglia di essere 3.00 e non 3.0 È possibile? Voglio conoscere il codice per rendere possibile, e quando sto facendo un problema in cui importa il punto decimale fino a 2 cifre, 3.23 è meglio di 3.2, per una maggiore precisione
Soluzione
Suppongo che ciò che si vuole è quello di convertire un galleggiante in una stringa con il numero di decimali che si desidera. È possibile ottenere che l'utilizzo% .3f (qui 3 è il numero di decimali che si desidera stampare. Ad esempio:
>>> print "Value: %.2f" % 3.0000
Valore: 3.00
Altri suggerimenti
Dal momento che questa discussione è la prima sulle parole "stringa di formattazione decimale pitone", penso che sia buona per fornire una risposta più recente:
>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'
se si desidera utilizzare precisione decimale il pitone decimal
modulo:
from decimal import Decimal
x = Decimal('3.00')
print x
che stampa:
Decimal('3.00')
Se si desidera stampare un numero a virgola mobile a una precisione desiderata è possibile utilizzare i codici di formattazione dell'output come il seguente:
Supponendo che x = 3.125
print "%.1f" % (x) # prints 3.1
print "%.2f" % (x) # prints 3.12
print "%.3f" % (x) # prints 3.125
print "%.4f" % (x) # prints 3.1250
Questo funzionerà in python 2.6 (credo che hanno cambiato la funzione di stampa in versione 3).
Si dovrebbe anche rendersi conto che i numeri in virgola mobile possono essere memorizzati solo con una certa accuratezza, in modo a volte non sarà possibile ottenere lo stesso numero esatto indietro. Per esempio 0.1 possono essere memorizzati come qualcosa di simile ,9999,999987 millions.