0

我需要准确总结一长串十进制数字,精度至少为小数点后 50 位。我还需要能够打印一些总和。我真正需要的是无限的小数位。

我不知道如何做到这一点。浮点数应该转换为字符串,然后用 Decimal 模块打印出来,对吗?但是我在理解模块或其局限性方面没有成功。如果有人可以帮助我解决这个问题和/或提示我一些关于 python 中的十进制模块或浮点数的指导性文章,它真的会帮助我和其他人。

我的尝试是:

from __future__ import division
from decimal import *
getcontext().prec = 160

summan = 0
lista = [1/4,1/3,1/5,1/6,1/7,1/9,1/10,1/11]

for x in lista:
    summan += x
    print Decimal(str(summan))
4

1 回答 1

0

查看文档...对于高精度的分数除法,您可以执行以下操作:

from decimal import *
getcontext().prec = 160

summan = 0
lista = ['1/4','1/3','1/5','1/6','1/7','1/9','1/10','1/11']

for x in lista:
    den, num = x.split('/')
    print Decimal(den) / Decimal(num)
于 2013-08-16T04:49:35.657 回答