Можно использовать спецификатор формата f и указать число десятичных цифр:
>>> '{:.10f}'.format(1e-10)
'0.0000000001'
Кол-во знаков по умолчанию равно 6, поэтому:
>>> '{:f}'.format(1e-6)
'0.000001'
>>> '{:f}'.format(1e-7)
'0.000000'
Если нужно удалить нули после запятой, можно применить функцию
rstrip
:
>>> '{:f}'.format(1.1)
'1.100000'
>>> '{:f}'.format(1.1).rstrip('0')
'1.1'
По умолчанию при преобразовании в строку с использованием str (или repr) python возвращает кратчайшее возможное представление для данного float, которое может быть экспоненциальным обозначением.
>>> '{:.16f}'.format(1.1)
'1.1000000000000001'
>>> 1.1
1.1