sda*_*aau 14 python scientific-notation format-specifiers
请考虑以下Python代码段:
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) + ")")
Run Code Online (Sandbox Code Playgroud)
它生成以下输出:
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)
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 是否有可能以某种方式"回去"?那是:
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
Run Code Online (Sandbox Code Playgroud)
......我指定我希望指数为" e+09"; 然后我抛出这个假设函数的数字,返回该指数中的数字值?是否可以在每种情况下为整体和小数部分指定零填充?(即000.0200e9和020.0000e9)?
Mar*_*nen 21
自己格式化(请参阅格式规范迷你语言):
for ix in [.02e9,.2e9,2e9,20e9,200e9,2000e9]:
print('{:.3e} => {:0=8.3f}e9'.format(ix,ix/1e9))
Run Code Online (Sandbox Code Playgroud)
2.000e+07 => 0000.020e9
2.000e+08 => 0000.200e9
2.000e+09 => 0002.000e9
2.000e+10 => 0020.000e9
2.000e+11 => 0200.000e9
2.000e+12 => 2000.000e9
Run Code Online (Sandbox Code Playgroud)
{:0=8.3f} 表示"零填充,填充符号和数字,总字段宽度为8,小数点后3位,定点格式".
| 归档时间: |
|
| 查看次数: |
30176 次 |
| 最近记录: |