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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top