Python中浮点精度的提高


问题内容

这个问题已经在这里有了答案

有浮点任意精度吗? (5个答案)

4个月前关闭。

我正在一个项目中,使用以下代码计算pi的莱布尼兹近似值:

def pi(precision):
    sign = True
    ret = 0
    for i in range(1,precision+1):
        odd = 2 * i - 1
        if sign:
            ret += 1.0 / odd
        else:
            ret -= 1.0 / odd
        sign = not sign
    return ret

但是,输出值始终为12位数字。如何提高计算精度(例如,更多位数)?Python是否支持更精确的浮点,还是我必须使用一些外部库?


问题答案:

尝试使用Decimal

阅读原始的任意精度基本数学函数(Python),了解更多信息