Как сделать так,чтобы round() не округлял последнюю цифру? (Python)
Например, у меня есть число 1.66666666666.
Мне нужно округлить его до 5-ого знака после запятой без округления последнего, чтобы конечный результат выглядел не так: 1,66667, а так: 1,66666!
(Интересует не конкретный случай,а все возможные, с любым количеством знаков после запятой.)
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
как вариант:
n = 1.66666666666
n1, n2 = str(n).split('.')
print(float(f'{n1}.{n2[:5]}'))
Автор решения: MaxU
→ Ссылка
Можно воспользоваться форматированием - преобразуйте число в строку, но используйте на один знак после запятой больше чем вам нужно и обрубите последний символ:
num = 1.66666666666
num_str = f"{num:.6f}"[:-1]
результат:
In [81]: num_str
Out[81]: '1.66666'
NOTE: но более правильно сделать так, как посоветовал @EzikBro в первом комментарии.