← Все вопросы
В чём разница abs, round и int при работе с дробными числами?
13
Есть число -3.7. Когда применять abs, когда round, когда int? Постоянно путаю, что из них что делает.
3 ответа
24
Три разные задачи:
abs(x)— модуль (убирает знак):abs(-3.7)→3.7, тип не меняется.int(x)— отбрасывает дробную часть (к нулю, без округления):int(3.7)→3,int(-3.7)→-3.round(x)— математическое округление до ближайшего:round(3.7)→4,round(-3.7)→-4. С двумя аргументами — до знаков:round(3.14159, 2)→3.14.
x = -3.7
print(abs(x)) # 3.7
print(int(x)) # -3 (отбросил .7)
print(round(x)) # -4 (округлил)
Главная разница int и round: int(2.9) это 2, а round(2.9) это 3.
Данил Джалагания Ещё round использует «банковское» округление: round(2.5) даёт 2, а не 3 — многих удивляет · 21 месяц назад
8
abs — знак убрать, int — отрезать дробь, round — округлить.
6
Для округления вниз/вверх всегда (а не отбрасывания к нулю) — math.floor и math.ceil, не путай с int.
Ваш ответ
Войдите, чтобы ответить на вопрос.