如何在Python中将字符串转换为double ?

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

593145 次浏览
>>> x = "2342.34"
>>> float(x)
2342.3400000000001

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

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

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

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

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