Остаток от деления
Код
x=200.48
a=x%1
print(a)
Результат
0.47999999999998977
Почему не 0.48 не могу понять????
Полe вещественных чисел ℝ сепарабельно - в нём есть всюду плотное подмножество ℚ, так что любое число х (х∈ℝ) можно аппроксимировать с любой точностью рациональным числом ᶍ (ᶍ∈ℚ). Это свойство сепарабельности множества действительных чисел во всю используется в программировании. Так в яп Python есть, например, даже специальный тип данных fractions.Fraction для работы с вещественными числами в ответственных режимах. Вот в такой программе
всё печатается правильно, причём как при конвертации чисел типа fractions.Fraction в тип decimal.Decimal, так и при их конвертации в тип float и такой вот выдачи 0.47999999999998977 не возникает, а печатается обычное 0.48. А типами всякими надо уметь пользоваться. Вот в такой задаче
https://otvet.mail.ru/question/230885299#
если всё делать в числах типа float, то в результате не совсем точного представления вещественных чисел и ошибок операций с ними может получиться, что точка не попадёт в область если она в ней и есть или наоборот будет принадлежать области если на самом деле лежит вне её. Правильный тип данных и уже готовые методы работы с данными этого типа практически полностью и целиком снимают эту проблему.
Потому что вещественные числа не могут быть точными
https://0.30000000000000004.com/