我试图请求一个浮点变量,然后将它的科学符号赋给它,然后在下面的操作中使用该符号。如中所述,我希望程序实际使用符号,而不仅仅是返回其中的结果。
我使用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/

10-12 18:01