Come trasformare un numero float come 293.4662543 in 293.47 in Python?

2022-07-29 12:00:05

Come ridurre il risultato float che ho ottenuto? Ho solo bisogno di 2 cifre dopo il punto. Scusa, non so proprio come spiegarlo meglio in inglese...

Grazie

- Shane

Source
Risposta


32
  • Dal cheat sheet di Python di The Floating-Point Guide:

    "%.2f" % 1.2399 # returns "1.24"
    "%.3f" % 1.2399 # returns "1.240"
    "%.2f" % 1.2 # returns "1.20"
    

    Usare round() è la cosa sbagliata da fare, perché i float sono frazioni binarie che non può rappresentare accuratamente le cifre decimali.

    Se devi eseguire calcoli con cifre decimali, utilizza il tipo Decimal nel modulo decimal.