如何在 python 浮点数后获取值

How to get value after e for python floats

我经常在 Python 中为浮点数输入科学记数法的值(例如 3.472e-07)。有没有一种简单的方法来访问 Python 中给定浮点数的指数?

例如给定 x = 4.7820012347239297234e-7,是否有某种方法可以获取 e 之后的值(在本例中为 -7)。

谢谢!

(1)取数的对数,并相应地四舍五入。

for val in [12345678901234567890.0, .0000004782]:
    logval = math.log10(val)
    print val, logval, round(logval - (0.5 if logval<0 else 0))

(2) 将其转换为字符串,抓取第一个出现的"e" from the right end,并取出字符串的其余部分。

for val in [12345678901234567890.0, .0000004782]:
    valstr = "{0:e}".format(val)
    epos = valstr.rfind('e')
    exponent = valstr[epos+1:]
    print int(exponent)

这两个对你有用吗?