I would like to know how to convert a string containing digits to a double.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
>>> x = "2342.34" >>> float(x) 2342.3400000000001 There you go. Use float (which is almost always a C double).
回答2:
The decimal operator might be more in line with what you are looking for:
>>> from decimal import Decimal >>> x = "234243.434" >>> print Decimal(x) 234243.434 回答3:
Be aware that if your string number contains more than 15 significant digits float(s) will round it.In those cases it is better to use Decimal
Here is an explanation and some code samples: https://docs.python.org/3/library/sys.html#sys.float_info