输入:
from decimal import *
k=10
for i in range(k):
getcontext().prec=i+1
print(Decimal(103993)/Decimal(33102))
输出
3 # for k=0
3.1
3.14
3.142
3.1416
3.14159
3.141593 # for k=6
3.1415927
3.14159265
3.141592653
我需要输出中的第7项(对于k = 6)恰好是3.141592,
对于k = 20,该值应为3.14159265301190260407
103993/33102保持此分数不变(这不应在输入中更改)
答案 0 :(得分:1)
我需要输出中的第7项(对于k = 6)恰好是3.141592,
您查看3.141593
的原因是该值已四舍五入到最接近的数字,并带有六位十进制数字。要更改舍入模式,请根据需要设置getcontext().rounding
。
截断数字,向零舍入。
答案 1 :(得分:0)
使用
getcontext().rounding = ROUND_DOWN
print(Decimal(103993)/Decimal(33102))
希望这能解决你的问题。