【发布时间】:2012-01-05 22:22:28
【问题描述】:
考虑以下 Python sn-p:
for ix in [0.02, 0.2, 2, 20, 200, 2000]:
iss = str(ix) + "e9"
isf = float(iss)
print(iss + "\t=> " + ("%04.03e" % isf) + " (" + str(isf) + ")")
它生成以下输出:
0.02e9 => 2.000e+07 (20000000.0)
0.2e9 => 2.000e+08 (200000000.0)
2e9 => 2.000e+09 (2000000000.0)
20e9 => 2.000e+10 (20000000000.0)
200e9 => 2.000e+11 (2e+11)
2000e9 => 2.000e+12 (2e+12)
是否有可能以某种方式“返回”?那就是:
2.000e+07 => 0.02e9
2.000e+08 => 0.2e9
2.000e+09 => 2e9
2.000e+10 => 20e9
2.000e+11 => 200e9
2.000e+12 => 2000e9
...我会指定我希望指数为e+09;然后我在这个假设函数中抛出的任何数字都返回该指数中的数值?是否可以在每种情况下为整体和小数部分指定零填充? (即000.0200e9 和020.0000e9)?
【问题讨论】:
标签: python scientific-notation format-specifiers