我试图请求一个浮点变量,然后将它的科学符号赋给它,然后在下面的操作中使用该符号。如中所述,我希望程序实际使用符号,而不仅仅是返回其中的结果。
我使用print函数成功地转换了变量:
def estim(abs(x)):
a=print("{:.3e}".format(x))
return a
然而,这并没有真正赋予x科学价值,我尝试了
b=float(a)
但是a不是一种类型,所以它不起作用。有什么帮助吗?
编辑:科学记数法的意思是X.yyy+Z,
示例:31234.34234->3.12e+04
最佳答案
如果你"{:.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'
关于python - 在Python中为变量分配科学计数法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28223121/