@Smeilz1
За любое развитие

Как перевести число с плавающей точкой 6.737e-0.5 в число типа 0.000023233?

Как перевести число с плавающей точкой 6.737e-0.5 в число типа 0.000023233?
Вывожу цену актива и она постоянно выводится в формате числа с плавающей точкой, а мне нужны обычные числа при любом количестве знаков. Поиск ничего не дал.
  • Вопрос задан
  • 2144 просмотра
Решения вопроса 1
@eternalfire
Можно использовать спецификатор формата 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы