将数字格式化为科学记数法,但为 3e-5 而不是 3e-05

Format number to scientific notation, but to 3e-5 instead of 3e-05

我有非常小或非常大的数字,我想以科学记数法打印出来:

pattern = "{:.0e}"
value1 = pattern.format(0.00003)
value2 = pattern.format(0.00000000005)
value3 = pattern.format(999999999) 
print(value1, value2, value3)
# Current output: 3e-05 5e-11 1e+09
# Desired output: 3e-5 5e-11 1e+9

- 之后没有 0 有没有比 value1.replace("-0", "-").replace("+0", "+") 更好的方法将数字格式化为表格?我希望号码越短越好

使用小数。

import decimal
pattern = "{:.0e}"
value1 = pattern.format(decimal.Decimal('0.00003'))
value2 = pattern.format(decimal.Decimal('0.00000000005'))
value3 = pattern.format(decimal.Decimal('999999999'))
print(value1, value2, value3)