我正在解析数据列表。数据是一个值列表,它们非常大,有很多小数点。例如:
-3.21446735874, 48.4505248207, 0.
-3.21476825075, 48.4504325609, 0.
我需要能够在计算中使用这些数字,而无需 python 降低每个数字的精度及其大小(float(x)
and int(x)
显然不起作用!)。我已经尝试过decimal
模块,但显然由于无法正常导入或其他原因,它无法再使用。我希望该解决方案独立于平台(请仅使用默认的 python 模块!)。
您正在尝试致电decimal
直接模块,而不是使用decimal.Decimal
. decimal
是一个模块对象,其中包含以下属性Decimal
, 'DefaultContext'
等等,要访问这些属性,请使用点符号(decimal.attr_name
).
>>> import decimal
>>> decimal.Decimal('1.234')
Decimal('1.234')
>>> decimal.DefaultContext
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999999, Emax=999999999, capitals=1, flags=[], traps=[Overflow, InvalidOperation, DivisionByZero])
您还可以使用以下命令将选定的属性导入到当前命名空间中from decimal import ..
syntax:
>>> from decimal import Decimal, DecimalTuple #import two attrs in current namespace
>>> Decimal('1.234') #now use it directly, no dot notation required
Decimal('1.234')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)