Python小数

Val*_*osa 1 python floating-point rounding-error decimal

我希望0.5能够圆满结束1.任何人都可以解释为什么它会向下0舍入?

>>> from decimal import *
>>> getcontext().prec = 0
>>> +Decimal(0.5)
Decimal('0')
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 6

您要求精确度为零有效数字.如果您不允许存储任何数字,则所有数字都将为零.

请注意,精度是有效十进制数的数量,即不计算前导零. 0.5有一个有效数字,1.5有两个.另请注意,Decimal使用银行家的四舍五入.