Как мне преобразовать строку в double в Python? - PullRequest
179 голосов
/ 27 января 2009

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

Ответы [ 3 ]

264 голосов
/ 27 января 2009
>>> x = "2342.34"
>>> float(x)
2342.3400000000001

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

41 голосов
/ 17 июня 2011

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

>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434
2 голосов
/ 25 января 2018

Имейте в виду, что если номер вашей строки содержит более 15 значащих цифр, float(s) будет округлять его. В этих случаях лучше использовать Decimal

Вот объяснение и некоторые примеры кода: https://docs.python.org/3/library/sys.html#sys.float_info

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...