Возможно вопрос банальный, но я новичок в программировании на Python.
Почему когда floatовское значение (с двумя знаками после запятой) я пытаюсь умножить на 100, то получаю число приблизительное? Пример:
a = 2.26
print(a * 100) # => 225.99999999999997
А если преобразовать в int, то он отбросит дробную часть и получится трёхзначное число (225) на единицу меньше предполагаемого:
a = 2.26
print(int(a * 100)) # => 225
Почему питон пишет всё это приближенное значение 225.99999999999997? Как можно гарантированно это обойти, а не просто увеличивать число 225 на единицу? P.S. встречаются числа, которые нормально умножаются на 100, тогда + 1 точно испортит значение:
b = 1.76
print(b * 100) # => 176.0