我想用科学记数法显示数字:
-407.45833
到目前为止我用过这个:
i = '%E' % Decimal(i)
结果:
-4.074583E+02
现在我的问题是:如何添加一个数字,使它看起来像这样:?
-4.074583E+002
我知道我应该在Python string formatting的表格中找到我的答案,以选择正确的格式布局,但我无法找到它。有人可以告诉我结果以及在哪里找到它吗?
答案 0 :(得分:0)
遗憾的是,在+
之后,使用字符串格式不能直接使用三位数字。替换它的一种简单方法是使用它,因为我们知道的是指数形式都存储为字符串,因此所有字符串方法都可以使用它。
我写了一个小函数,它采用常规科学记数法,并在+
后返回带有三位数的格式化符号:
from decimal import Decimal
def pretty(notation, n):
if '+' in notation:
return "+".join([notation.split('+')[0],notation.split('+')[1].zfill(n)])
return "-".join([notation.split('-')[0],notation.split('-')[1].zfill(n)])
i = '%E' % Decimal(-407.45833)
print(pretty(i,3)) # leave three digits