我想知道如何将包含数字的字符串转换为双精度。


当前回答

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

好了。使用float(它的行为和精度与C、c++或Java double相同)。

其他回答

请注意,如果字符串数字包含超过15位有效数字,则浮点数将对其进行四舍五入。在这种情况下,最好使用Decimal

下面是一个解释和一些代码示例: https://docs.python.org/3/library/sys.html#sys.float_info

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

好了。使用float(它的行为和精度与C、c++或Java double相同)。

十进制运算符可能更符合你的要求:

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