Sto lavorando su un programma che memorizza numeri come float che eventualmente scrivo in un file come valuta. Attualmente sto usando la funzione round() per arrotondarlo a 2 decimali, ma il settore degli affari vorrebbe che raggiungessi il prossimo penny indipendentemente dal terzo decimale. Ad esempio:
x = 39.142
In questo caso sto cercando di ottenere x per arrotondare a 39.15. Ovviamente quando faccio la funzione rotonda ottengo 39.14 ...
>>> round(x, 2)
39.14
C'è un modo posso sempre arrotondare fino al prossimo centesimo? Dovrei ricordare che i numeri con cui ho a che fare sono stampati sul file come valuta.
Se si tratta di valuta, non utilizzare i galleggianti. Sta solo chiedendo dei guai. Può essere fatto, ovviamente, ma è più un problema che ne vale la pena. – harold
@LanceCollins: la risposta che hai selezionato è gravemente sbagliata. Vedi i miei commenti –