我想显示在科学记数法表示:显示在科学记数法的一些具体数字
-407.45833
到目前为止,我用这个:
i = '%E' % Decimal(i)
结果:
-4.074583E+02
现在我的问题:我怎么能再添加一个数字,所以它看起来像这样:?
-4.074583E+002
我知道我应该找我从Python string formatting表中的答案选择正确的格式布局,但我不能找到它。有人可以告诉我结果以及在哪里找到它吗?
我想显示在科学记数法表示:显示在科学记数法的一些具体数字
-407.45833
到目前为止,我用这个:
i = '%E' % Decimal(i)
结果:
-4.074583E+02
现在我的问题:我怎么能再添加一个数字,所以它看起来像这样:?
-4.074583E+002
我知道我应该找我从Python string formatting表中的答案选择正确的格式布局,但我不能找到它。有人可以告诉我结果以及在哪里找到它吗?
不幸的是没有任何直接的方式使用字符串格式化后有三个数字+
。一个简单的方法来取代它是因为我们知道的是,指数形式都存储为字符串,所以所有的字符串方法都可以使用它。
我写了一个小功能,需要一个正规科学记数法,后+
回到三位数格式化符号:
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
,我不相信有该功能......但你可以做到它手动:( – abccd
@abccd如果我改变这个“%.2E”我得到“4.07E + 02”。我希望有一些类似的数字在末尾 – Vipr0
不,不幸的是,不过,你为什么需要那么如果是E + 0123会发生什么?现在有四位数字...... – abccd