Назначить научную нотацию переменной в Python
Я пытаюсь попросить переменную с плавающей точкой, затем присвоить ей научную нотацию и затем использовать эту нотацию в следующих операциях. Например, я хочу, чтобы программа действительно работала с нотацией, а не просто возвращала результаты в ней. Мне удалось преобразовать переменную с помощью функции print:
def estim(abs(x)):
a=print("{:.3e}".format(x))
return a
Однако это на самом деле не придает научной ценности x. я тогда попытался
b=float(a)
Но a-это тип None, поэтому он не работает. Помощь есть?
Edit: by scientific обозначение я имею в виду X. YYYe+Z, пример: 31234.34234 - > 3.12 e+04
3 ответа:
Если вы сделаете
"{:.3e}".format(x)
, то получите 3 цифры после запятой, то естьЧтобы получить то, что вы хотите, вам нужно сделать>>> a = 31234.34234 >>> "{:.3e}".format(a) '3.123e+04'
"{:.2e}".format(x)
.>>> "{:.2e}".format(a) '3.12e+04' >>> float("{:.2e}".format(a)) 31200.0
Преобразование его обратно в
float
даст вам исходное значениеКак функция
def estim(x): x = abs(x) a=("{:.2e}".format(x)) print(a) return a
Совет:
Вы можете использовать
%
(это может быть устаревшим)>>> a = 31234.34234 >>> "%e"%a '3.123434e+04'