Число с е преобразовать в нормальный вид
В базе данных есть числа с е-0, степени всегда разные, как привести такие числа в нормальный вид? Я искал информацию и находил, но только единичные решения, а мне нужно, чтобы все числа с разными степенями приводило в нормальный вид, например, число 6.935e-07 чтобы стало 0.0000006935. Я написал такую функцию, но она очень тупая, завязана на количестве нулей и походу сильно грузит, так как скрипт крашнулся с Memory Error, когда до нее дошел. Есть какое-то решение проще?
def check_normal_number(number):
new_number = 0
if 'e-' in str(number):
zero_needed = int(str(number)[-1]) - 1
z = int(number * (10 ** (int(str(number)[-1]) + 3)))
new_number = f'0.{"0" * zero_needed}{z}'
return new_number
UPD: Делюсь решением для тех, кто ищет, помогли в ответах: {k} - это число знаков после запятой. Для числа в моем виде оно всегда будет = степень (7) + актуальное число знаков после запятой (3) Откидываем все начиная с е, считаем количество знаков и отнимаем 2 (первый символ и точка) и прибавляем степень.
number = 6.935e-07
k = len(str(number).split('e')[0]) - 2 + int(str(asks_volume[2])[-1])
number = f'{number:.{k}f}'