2010-08-03 13 views

risposta

91

Stai cercando di rappresentare con una sola cifra:

print "%.1f" % number 

o addirittura completano il quadro delle altre cifre decimali?

round(number,1) 

o addirittura rotondo rigorosamente verso il basso?

math.floor(number*10)/10 
+0

C'è qualche possibilità che il 1 ° e 3 ° soluzione dà risultati diversi? Penso che entrambi siano esattamente gli stessi @relet –

+0

Numero di prova = -2,55. Inoltre restituiscono diversi tipi. – relet

+0

@DeveshSaini prova numero 2.36. Il primo darà il 2.4, il terzo darà il 2.3 –

14
>>> "{0:0.1f}".format(45.34531) 
'45.3' 

Oppure utilizzare la funzione interna rotonda:

>>> round(45.34531, 1) 
45.299999999999997 
+4

Aggiornamento: Round mi dà 45.3 ora. – Nathan

Problemi correlati