我想知道如何将一个包含数字的字符串转换为双精度浮点数。
>>> x = "2342.34"
>>> float(x)
2342.3400000000001
这里是答案。使用float(它的行为和精度与C、C++或Java的double相同)。
float('7.5606e-08')
会产生预期的Python浮点数。 - drevicko>>> x = "2342.34"
并将其转换为浮点数 >>> float(x)
我得到的是 2342.34
而不是 @Mongoose 报告的 2342.3400000000001
。 - Bruce_Warrior>>> 0.1 + 0.2
表示双精度浮点数。使用 >>> 0.1 + 0.6
表示单精度浮点数。 - user1510539十进制运算符可能更符合您的需求:
>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434
float(s)
会将其四舍五入。在这种情况下,最好使用Decimal
。