从科学计数法中提取指数

Extracting the exponent from scientific notation

我有一堆科学计数法的数字,我想找到它们的指数。例如:

>>> find_exp(3.7e-13)
13

>>> find_exp(-7.2e-11)
11

因此我只需要他们的指数,忽略其他一切,包括符号。

我在python中寻找过这样的方法,但类似的问题仅用于格式化目的。

Common logarithm就是这里需要的,可以用log10 + floor:

from math import log10, floor

def find_exp(number) -> int:
    base10 = log10(abs(number))
    return abs(floor(base10))

find_exp(3.7e-13)
# 13

find_exp(-7.2e-11)
# 11