我正在尝试从科学计数法3.67E+17
的网页中获取值,然后将其转换为表单0.367E+18
。或者,如果科学记数法是0.367E+18
,则获取该值。我已经能够实现打开网页的部分,然后找到科学数字的位置,但是,我无法将数字本身转换为我想要的形式。
我做到了这一点:
lsF = "3.18E+20"
int(lsF[lsF.find("E")+2:]) - 18
我已经能够计算出我需要向左或向右移动多少个小数位,但是,我该如何实际移动它们呢?
答案 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