我经常在 Python 中为浮点数输入科学计数法(例如 3.472e-07)的值。有没有一种简单的方法可以访问 Python 中给定浮点数的指数?
例如给定x = 4.7820012347239297234e-7
,是否有某种方法可以获取 e 之后的值(在本例中为 -7)。
谢谢!
我经常在 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” ,然后取出字符串的其余部分。
for val in [12345678901234567890.0, .0000004782]:
valstr = "{0:e}".format(val)
epos = valstr.rfind('e')
exponent = valstr[epos+1:]
print int(exponent)
这些中的任何一个都对你有用吗?