为什么我不能在我配置的精度中明确声明一个精确的Decimal
对象?
from decimal import *
getcontext().prec = 5
num = Decimal(0.1234)
print num
预期产出:
0.1234
实际输出:
0.12339999999999999580335696691690827719867229461669921875
最终,我正在编写单元测试来比较失败的Decimal对象,因为期望值是不精确的。
答案 0 :(得分:1)
0.1234
转换为标准IEEE-754基数-2浮点数,然后将该近似值转换为十进制数。把它留作一个字符串。
>>> Decimal(0.1234)
Decimal('0.12339999999999999580335696691690827719867229461669921875')
>>> Decimal('0.1234')
Decimal('0.1234')