Вы можете использовать это для округления до 6 значащих цифр:
round(test, 6 - int(math.log10(test)))
Полученное из этого значение равно
7.545721e+29
Это работает с использованием log10
из math
модуль, чтобы получить степень 10 в test
, округляет его до целого числа, вычитает, что из 6 затем использует round
для получения желаемых цифр.
Как отмечали другие, round
работаетна указанное количество знаков после запятой.log10
и остальные цифры показывают, сколько десятичных знаков необходимо, чтобы получить желаемое количество значащих цифр.Если десятичные разряды отрицательны, round
округляется слева от десятичной запятой.
Вы должны знать, что log10
не совсем точна, и взятие int
из этого может быть отключено отожидаемое значение на единицу.Такое случается редко, но бывает.Кроме того, даже если вычисленное значение является правильным, преобразование значения в строку (например, при его печати) может дать результат, отличный от ожидаемого.Если вам нужна идеальная точность, вам лучше работать со строковым представлением значения.