在Python中为变量指定科学符号
我试图请求一个浮点变量,然后将其科学符号分配给它,然后在下面的操作中使用该符号。如中所示,我希望程序实际使用符号,而不仅仅是返回其中的结果。 我使用print函数成功地转换了变量:在Python中为变量指定科学符号,python,scientific-notation,Python,Scientific Notation,我试图请求一个浮点变量,然后将其科学符号分配给它,然后在下面的操作中使用该符号。如中所示,我希望程序实际使用符号,而不仅仅是返回其中的结果。 我使用print函数成功地转换了变量: def estim(abs(x)): a=print("{:.3e}".format(x)) return a 然而,这实际上并没有赋予x科学值。然后我试着 b=float(a) 但是a是非类型的,所以它不起作用。有什么帮助吗 编辑:我所说的科学符号是指X.YYYe+Z, 示例:31234.342
def estim(abs(x)):
a=print("{:.3e}".format(x))
return a
然而,这实际上并没有赋予x科学值。然后我试着
b=float(a)
但是a是非类型的,所以它不起作用。有什么帮助吗
编辑:我所说的科学符号是指X.YYYe+Z,
示例:31234.34234->3.12e+04如果您执行“{.3e}”。格式(x)
您将在小数点后获得3位数字,即
>>> a = 31234.34234
>>> "{:.3e}".format(a)
'3.123e+04'
要得到您想要的,您需要执行“{.2e}”.format(x)
将其转换回float
将得到原始值
作为一项功能
def estim(x):
x = abs(x)
a=("{:.2e}".format(x))
print(a)
return a
提示:
您可以使用%
(可能不推荐使用)
打印返回的值始终为“无”,我想您需要的是:
def estim(x):
a="{:.3e}".format(abs(x))
print a
return a
您需要使用a=“{.3e}”。格式(x)
这里有一个例子
x=246789;
a="{:.3e}".format(x);
print a;
print float(a);
输出
2.468e+05
246800.0
你的代码毫无意义。也许,
a=“{.3e}”。格式(x)
会起作用吗?在Python中,floats内部不使用“十进制表示法”或“科学表示法”。这些只是输出格式。你说的“用符号工作”是什么意思?我的意思是,而不是低估44432.12,程序会认为它是4.44×10 ^ 4,例如,实际上是44400。ForceBru的建议似乎有效,谢谢。@L.R.31234.34234->3.12e+04
。。。您需要a=“{.2e}”。格式(x)
,而不是a=“{.3e}”。格式(x)
。(现在不编辑)你想用这个号码做什么?科学记数法是一种显示数字的方法。它不会改变数字是多少。因此,只有当您真正想要使用数字的字符串表示形式时,“使用科学记数法中的数字”才有意义。您提供的estim
函数的代码不起作用:“SyntaxError:无效语法。”
x=246789;
a="{:.3e}".format(x);
print a;
print float(a);
2.468e+05
246800.0