如何在e之后为python浮点数获取值

时间:2017-04-07 18:38:31

标签: python scientific-notation ieee

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

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

谢谢!

1 个答案:

答案 0 :(得分: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”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)

其中任何一个都适合你吗?