Напомню на всякий случай, что не каждое десятичное число можно представить конечным количеством двоичных знаков. Это как 1\3 в троичной системе будет просто 0.1, а в десятичной 0.333(3).
Это значит, что округлять с помощью round не всегда хорошая идея.
К примеру, десятичное число 0.2 предствляется периодической бинарной дробью.
Смотрите:
In [1]: f'{0.2:.30f}'
Out[1]: '0.200000000000000011102230246252'
Если вам нужна точная арифметика с десятичными числами с правильным округлением, то используйте модуль decimal, где есть специальный тип данных, контроллирующий точность.
В простых же случаях можно округлять до нужного числа знаков при преобразовании в текст, как показано выше. Однако при этом на способ округления (а там все не так просто, как некоторые думают) воздействовать нельзя. Если нужно совсем правильное округление - decimal.