Проблема с преобразованием чисел
У меня есть числа типа 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
