如何在Python中更改指数的提升能力?

时间:2017-08-15 02:14:10

标签: python exponential

我正在尝试从科学计数法3.67E+17的网页中获取值,然后将其转换为表单0.367E+18。或者,如果科学记数法是0.367E+18,则获取该值。我已经能够实现打开网页的部分,然后找到科学数字的位置,但是,我无法将数字本身转换为我想要的形式。

我做到了这一点:

lsF = "3.18E+20"
int(lsF[lsF.find("E")+2:]) - 18

我已经能够计算出我需要向左或向右移动多少个小数位,但是,我该如何实际移动它们呢?

1 个答案:

答案 0 :(得分:2)

lsF = "3.18E+20"
ePos = lsF.find("E")
if (ePos):
    mantissa = float(lsF[:ePos])
    exponent = int(lsF[ePos+1:])
else:
    mantissa = float(lsF)
    exponent = 0
shift = 18 - exponent
result = mantissa / 10**shift

result将是指数18

的新尾数