ghqstlysoul
@ghqstlysoul
Discord: ghqstlysoul

Как округлять числа после деления в Python?

Я делю число 54 на 11:

54 / 11

И получаю: 4.909090909090909

Как мне получить просто 4.9 без лишних цифр на конце?
  • Вопрос задан
  • 919 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Самым правильным будет не округлять, я преобразовывать в строку с нужной точностью.
f'{54 / 11:.1f}'
Обычно в вычислениях нужно работать с по возможности наиболее точными числами. но выводить в результате округленные числа без лишних знаков.
Округление с помощью round для этих целей может сделать "сюрприз". Не все дроби можно представить конечным числом знаков в любой системе счисления. Например, в десятичной системе нельзя представить 1/3, а в троичиной легко, как и в девятиричной. В двоичной системе не получится представить 0.2, а в десятичной вот я только что это сделал. В двоичной системе счисления получится периодическая запись.
В компе числа с плавающей токой представлены в двоичной форме, и да, некоторые десятичные числа с конечным числом знаков после запятой будут в двоичном виде запиываться не точно. потому что потребуется бесконечное число знаков для точной записи.
В общем, round испольуем только если по алгоритму нам требуется округленное значение в промежуточных вычислениях. Для округления результата с целью показать человеку нужно использовать округление при приведении к строке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
Целочисленное деление в Python обозначается двумя косыми чертами «//».
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы