Jestem nieco zdezorientowany, jak działa zaokrąglanie w Pythonie.
Czy ktoś mógłby wyjaśnić, dlaczego Python zachowuje się w ten sposób?Jak działa zaokrąglanie w Pythonie?
Przykład:
>>> 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
A sama dla:
>>> 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: Tak w ogóle, istnieje możliwość, że Python zaokrągla w dół zamiast zaokrąglania. Czy mam rozumieć, że jedyną "nienormalną" rzeczą, która może się zdarzyć, jest to, że Python się kończy? Czy może również zostać "nienormalnie" zaokrąglone ze względu na sposób przechowywania? (Nie znalazłem przypadku, w którym Python zaokrągliłby się, gdy spodziewałem się, że zaokrągli w dół).
pokrewne. 'Print '% .20f% .20f% .20f' % (15, .25, .35) ' –
@Rob_phi: Niezwiązane: twój indeks dolny jest poprawnie wyświetlany nawet na ekranie adresu URL na pasku adresu [po kliknięciu nazwy użytkownika] ... JAK? – gariepy
@gariepy Jeśli skopiujesz adres URL do edytora tekstu, pojawi się on jako: http: // stackoverflow.com/users/8747/rob% E1% B5% A9' - niektóre przeglądarki takie jak Chrome renderują znaki escape z unikodem pasek adresu URL. – Galax