Decimal Type
Od dawna wiadomo ( ͡° ͜ʖ ͡°), że:

0.1 + 0.1 + 0.1 - 0.3 == 5.551115123125783e-17
Jest to wynik bardzo bliski zeru (nie zero!) ale końcowy użytkownik nie takiego rezultatu by oczekiwał, więc jak to "naprawić"?
Otóż jest taki moduł jak decimal:

from decimal import Decimal
print(Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3'))
# 0.0

Ale warto zwrócić tutaj uwagę na:

from decimal import
@hamskloss: Ale całym clue mojej wypowiedzi był oto, że nie jest to żadna ciekawostka tylko absolutna podstawa pythona... ( ͡° ʖ̯ ͡°)
Podaję kolejne potencjalne ciekawostki:
2 * True + False

a = float(0.1)
b = float(0.1)
In [3]: a is b
Out[3]: False
In [4]: a == b
Out[4]: True

[] = () = {}
  • Odpowiedz