1

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

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

谢谢!

4

1 回答 1

2

(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” ,然后取出字符串的其余部分。

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

这些中的任何一个都对你有用吗?

于 2017-04-07T18:40:22.997 回答