Python - фиксированная экспонента в научной нотации?

Рассмотрим следующий фрагмент кода 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) + ")")

Он генерирует следующий вывод:

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 )?

14
задан jonrsharpe 17 September 2016 в 10:53
поделиться