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