Проблема с преобразованием чисел

У меня есть числа типа 0.000000023

введите сюда описание изображения

Но по итогу они преобразовываются в 23*10^-9

Как мне сделать так, чтобы они оставались в виде 0.000000023?


Ответы (2 шт):

Автор решения: Dareten

Вы можете избежать такого вывода с помощью '%f' % a, но он выдаст лишь нули, поэтому вам нужно будет вручную задать необходимую точность вывода: '%.15f' % a

→ Ссылка
Автор решения: eri

Формат Decimal заботится о том чтоб к числу не добавилась погрешность округления от преобразования к float

import decimal

decimal.Decimal('0.000000023')
decimal.Decimal(9)*decimal.Decimal(10)**-9

если 1 перед e-09 не важна, то просто используйти принт с форматированием.

>>> print('%.10f' % 0.000000023)
0.0000000230
>>> print('%.2f' % 12.123)
12.12
>>> print('%e' % 0.000000023)
2.300000e-08
→ Ссылка