Sono un po 'confuso su come funziona l'arrotondamento in Python.
Qualcuno potrebbe spiegare perché Python si comporta in questo modo?Come funziona Rounding in Python?
Esempio:
>>> round(0.05,1) # this makes sense
0.1
>>> round(0.15,1) # this doesn't make sense! Why is the result not 0.2?
0.1
e lo stesso per:
>>> round(0.25,1) # this makes sense
0.3
>>> round(0.35,1) # in my opinion, should be 0.4 but evaluates to 0.3
0.3
Edit: Quindi, in generale, v'è la possibilità che Python arrotonda per difetto, invece di arrotondamento. Quindi devo capire che l'unica cosa "anormale" che può succedere è che Python si arrotonda? O può anche essere arrotondato "in modo anomalo" a causa di come viene memorizzato? (Non ho trovato un caso in cui Python ha arrotondato quando mi aspettavo di arrotondare)
correlati:. 'Print '% .20f% .20f% .20f' % (15, .25, .35) ' –
@Rob_phi: Non correlato: il tuo indice phi viene visualizzato correttamente anche nella visualizzazione degli URL nella barra degli indirizzi [quando faccio clic sul tuo nome utente] ... COME?!? – gariepy
@gariepy Se copi l'URL in un editor di testo verrà visualizzato come 'http: // stackoverflow.com/users/8747/rob% E1% B5% A9' - alcuni browser come Chrome rendono i caratteri unicode sfuggiti in la barra degli URL. – Galax