Pythonで文字列をdoubleに変換するにはどうすればよいですか?


回答:


316
>>> x = "2342.34"
>>> float(x)
2342.3400000000001

どうぞ。floatを使用します(C、C ++、またはJavaのdoubleと同じように動作し、精度は同じです)。


38
または、より具体的には、Python floatはC doubleです。
habnabit 2009年

1
Bahはdoubleではなくfloatを使用しました。今私のコードは.0000000001ずれています。これは痛い
Evorlor

2
ちなみに、これは指数表記でも機能します。例:float('7.5606e-08')予想されるpython floatを生成します。
drevicko 14

2
私のpython(バージョン2.7.10)では、私が割り当てるときに>>> x = "2342.34" フロートすると変換>>> float(x) Iが取得2342.34代わりに2342.3400000000001@Mongooseによって報告
Bruce_Warrior

>>> 0.1 + 0.2ダブルに使用。>>> 0.1 + 0.6フロート用。
user1510539

50

小数演算子はあなたが探しているものとより一致しているかもしれません:

>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.