Не путать с округлением форматирования значения для вывода. Если ваша цель - просто вывести числовое значение с определенным количеством десятичных знаков, вам обычно не нужно использовать round(). Вместо этого просто укажите желаемую точность при форматировании. Например:
>>> x = 1.23456
>>> format(x, '0.2f')
'1.23'
>>> format(x, '0.3f')
'1.235'
>>> 'value is {:0.3f}'.format(x)
'value is 1.235'
>>>
Кроме того, сопротивляйтесь стремлению к округлению чисел с плавающей точкой, чтобы «исправить» воспринимаемые проблемы с точностью. Например, вы можете быть склонны сделать это:
>>> a = 2.1
>>> b = 4.2
>>> c = a + b
>>> c
6.300000000000001
>>> c = round(c, 2) # "Fix" result (???)
>>> c
6.3
>>>
Source
зависит от того, где вы его печатаете – percusse
Минимальный пример для этого - 'print 3.3000000000000003'. Вы не теряете никакой информации, это просто представление. – jonrsharpe
@jonrsharpe, хорошо, но как представить число со всеми десятичными знаками? Мне нужно это с точки зрения визуального представления, я не могу обрезать информацию. – user455318