将科学记数法字符串转换为int

时间:2015-04-06 21:46:48

标签: python

我将如何转换:

s='8.833167174e+11' (str)
==> 883316717400 (int)

我尝试过int(s)或其他一些'施法',但效果不佳。

1 个答案:

答案 0 :(得分:3)

由于您的字符串是浮点数,您需要先将其转换为float

>>> int(float(s))
883316717400
  

float([x])

     

返回由数字或字符串x构成的浮点数。

     

如果参数是字符串,则它必须包含可能带符号的十进制或浮点数,可能嵌入在空格中。参数也可以是[+ | - ] nan或[+ | - ] inf。否则,参数可以是普通或长整数或浮点数,并返回具有相同值(在Python的浮点精度内)的浮点数。如果没有给出参数,则返回0.0。