我需要准确地总结一长串十进制数,其精度至少为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))
答案 0 :(得分:0)
看看at the documentation ...对于高精度的分数除法,您可以执行以下操作:
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)