簡體   English   中英

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM