在python中如何处理大小数?

在python中如何处理大小数?,python,numbers,decimal,Python,Numbers,Decimal,我正在分析一组数据。数据是一个值列表,它们非常大,有许多小数点。例如: -3.21446735874, 48.4505248207, 0. -3.21476825075, 48.4504325609, 0. 我需要能够在计算中使用这些数字,而不会让python降低每个数字的精度及其大小(float(x)和int(x)显然不起作用!)。我尝试了decimal模块,但由于导入功能不正常或其他原因,显然无法再使用它。我更喜欢独立于平台的解决方案(请只使用默认的python模块!)。您试图直接调用de

我正在分析一组数据。数据是一个值列表,它们非常大,有许多小数点。例如:

-3.21446735874, 48.4505248207, 0.
-3.21476825075, 48.4504325609, 0.

我需要能够在计算中使用这些数字,而不会让python降低每个数字的精度及其大小(
float(x)
int(x)
显然不起作用!)。我尝试了
decimal
模块,但由于导入功能不正常或其他原因,显然无法再使用它。我更喜欢独立于平台的解决方案(请只使用默认的python模块!)。

您试图直接调用
decimal
模块,而不是使用
decimal.decimal
decimal
是一个模块对象,它包含诸如
decimal
'DefaultContext'
等属性,要访问这些属性,请使用点符号(
decimal.attr\u name

您还可以使用
from decimal import..
语法将选定的属性导入当前名称空间:

>>> 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')
你还有一个包裹

bigfloat包是GNU MPFR库的Python包装,用于实现任意精度浮点可靠算法


您可以根据需要精确地工作。

“我已经尝试了十进制模块,但显然由于无法正常工作的导入或其他原因,它不能再使用了”-说什么?“显然它不能再使用了”-请详细说明
decimal
是一个默认的Python模块,它与平台无关。您是否碰巧将Python脚本命名为
decimal.py
?“无功能导入”是什么意思?回溯(最近一次调用):文件“RoutePlot.py”,第17行,打印(十进制(1)/十进制(7))类型错误:“模块”对象不可调用--------------------------(程序退出,代码:1)按返回continue@BarrySmith请发布您正在运行的代码。听起来您正试图将模块对象用作函数。您可能只需将
decimal
更改为
decimal.decimal
即可。
>>> 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')