Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
total = 0.1 + 0.2
print(total == 0.3, round(total, 2) == 0.3)False True
- Ждать, что
0.1 + 0.2в точности равно0.3: оба числа хранятся в двоичном виде с крошечной погрешностью, и сумма равна0.30000000000000004. - Считать, что
roundне поможет:round(total, 2)даёт ближайшее к0.30числоfloat, то же, что даёт литерал0.3, поэтому они равны.
- Что покажет
print(0.1 + 0.2)? - Как сравнить два вычисленных числа
floatбезround?