python破解将浮点值转换为小数



我写了一个大型程序,依赖于实验室中编写的库。我得到了错误的(有些随机的(结果,这些结果是由浮点错误引起的
我想做一些python魔术,将所有浮点值更改为小数,或其他更精确的类型
我不能在这里写完整的代码,但以下是一般流程-

def run(n):
...
x = 0.5  # initializes as float
for _ in range(n):
x = calc(x)
...
return x

我试图避免的是检查代码中的所有初始化,并添加手动转换为十进制
有什么技巧可以让python将x=0.5等行中的所有浮点初始化为小数吗?或者使用一个具有更精确浮点值的自定义解释器
谢谢,

我不能发布完整的代码,希望我的编辑能让它更清晰。

我认为你可以使用这个:

from decimal import Decimal
Decimal(variable)