![](/img/trans.png)
[英]How to convert a E notation string to a float with fixed exponent in python
[英]Parsing a string representing a float *with an exponent* in Python
我有一個很大的文件,數字形式為6,52353753563E-7
。 因此,該字符串中有一個指數。 float()
在此死亡。
雖然我可以編寫自定義代碼來將字符串預處理為float()
可以食用的東西,但我正在尋找將這些字符串轉換為float的pythonic方式(類似於在某處傳遞的格式字符串)。 我必須說讓我感到驚訝的是float()
不能處理如此指數的字符串,這是很常見的東西。
我正在使用python 2.6,但如果需要的話,可以選擇3.1。
與指數無關。 問題是逗號而不是小數點。
>>> float("6,52353753563E-7")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 6,52353753563E-7
>>> float("6.52353753563E-7")
6.5235375356299998e-07
有關一般方法,請參見locale.atof()
您的問題不在指數中,而是在逗號中。 使用python 3.1:
>>> a = "6.52353753563E-7"
>>> float(a)
6.52353753563e-07
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.