Как мне преобразовать строку в double в Python?


218

Я хотел бы знать, как преобразовать строку, содержащую цифры, в двойное число.



Это не двойной питон. Двойной питон имеет неограниченную вместимость.

Ответы:


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

Вот и ты. Используйте float (который ведет себя как и имеет ту же точность, что и C, C ++ или Java double).


38
Или, более конкретно, числа с плавающей точкой Python являются C-двойными.
Хабнабит

1
Бах использовал поплавок вместо двойного. теперь мой код отключен .0000000001, что больно
Evorlor

2
кстати, это также работает с показателями степени. Например: float('7.5606e-08')производит ожидаемое плавание Python.
drevicko

2
С моим питоном (версия 2.7.10), когда я присваиваю >>> x = "2342.34" и конвертирую в float, вместо этого >>> float(x) я получаю сообщение @Mongoose2342.342342.3400000000001
Bruce_Warrior

Используйте >>> 0.1 + 0.2для двойного. >>> 0.1 + 0.6для плавания.
user1510539

50

Десятичный оператор может быть больше в соответствии с тем, что вы ищете:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.