Я хотел бы знать, как преобразовать строку, содержащую цифры, в двойную.
Как преобразовать строку в двойную в Python?
comment
Это не дублер питона. Двойник питона имеет неограниченную вместимость.
- person   schedule 26.02.2010
Ответы (3)
>>> x = "2342.34"
>>> float(x)
2342.3400000000001
Вот и все. Используйте float (который ведет себя как double в C, C ++ или Java и имеет ту же точность).
person
Mongoose
schedule
27.01.2009
Или, более конкретно, числа с плавающей запятой в Python - это двойники C.
- person habnabit; 27.01.2009
Ба использовал float вместо double. теперь мой код отключен на .0000000001, что больно
- person Evorlor; 18.01.2014
кстати, это также работает с обозначением экспоненты. например:
float('7.5606e-08') производит ожидаемое значение с плавающей запятой в Python.
- person drevicko; 13.02.2014
С моим python (версия 2.7.10), когда я назначаю
>>> x = "2342.34" и конвертирую в float >>> float(x) , я получаю 2342.34 вместо 2342.3400000000001, о котором сообщает @Mongoose
- person Bruce_Warrior; 31.08.2015
Используйте
>>> 0.1 + 0.2 для двойного. >>> 0.1 + 0.6 для поплавка.
- person user1510539; 04.09.2017
Десятичный оператор может больше соответствовать тому, что вы ищете:
>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434
person
foomip
schedule
17.06.2011
Имейте в виду, что если ваш строковый номер содержит более 15 значащих цифр, float(s) будет округлять его. В таких случаях лучше использовать Decimal
Вот объяснение и несколько примеров кода: https://docs.python.org/3/library/sys.html#sys.float_info.
person
user1767754
schedule
25.01.2018