我经常在Python中用浮点数输入科学记数法(例如3.472e-07)中的值。有没有一种简单的方法来访问Python中给定浮点数的指数?
E.g。给定x = 4.7820012347239297234e-7
,是否有某种方法可以获得e之后的值(在本例中为-7)。
谢谢!
答案 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)
其中任何一个都适合你吗?