提问人:João Gabriel Paina 提问时间:9/16/2022 最后编辑:ShadowRangerJoão Gabriel Paina 更新时间:9/16/2022 访问量:51
十进制 Python 库有奇怪的行为
Decimal Python Library has weird behavior
问:
我正在尝试使用 Python Decimal 修复我的所有计算。我将小数点后位数限制为 3,但是,我得到了这种行为:
from decimal import *
getcontext().prec = 3
In [0]:Decimal('32.983') - Decimal('0.000')
Out[1]: Decimal('33.0')
有谁知道如何克服它?我想得到:
Out[1]: Decimal('32.983')
答:
1赞
rici
9/16/2022
#1
如果要获得 ,则需要将精度设置为 5,而不是 3。精度是有效位数的计数,而不是小数点后的数字计数。32.983
通常不应对中间计算的精度进行严格限制,因为这会影响最终结果的准确性。您始终可以对最终结果进行四舍五入以进行显示。
评论