我正在尝试请求一个浮点变量,然后将其科学记数法分配给它,然后在以下操作中使用该表示法。就像在,我希望程序实际上使用符号,而不仅仅是返回结果。 我设法通过使用print函数转换变量:
def estim(abs(x)):
a=print("{:.3e}".format(x))
return a
然而,实际上并没有将科学价值分配给x。然后我尝试了
b=float(a)
但是a是None类型,所以它不起作用。有什么帮助吗?
编辑:科学记谱法我的意思是X.YYYe + Z, 示例:31234.34234 - > 3.12e + 04
答案 0 :(得分:3)
您需要使用a="{:.3e}".format(x)
这是一个例子
x=246789;
a="{:.3e}".format(x);
print a;
print float(a);
输出
2.468e+05
246800.0
答案 1 :(得分:1)
如果你"{:.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'
答案 2 :(得分:1)
打印的返回值始终为无我怀疑您需要的更多内容如下:
def estim(x):
a="{:.3e}".format(abs(x))
print a
return a