【发布时间】:2015-03-16 16:15:42
【问题描述】:
为什么会发生这种转换为 2 位小数的数字?
x = 369.69
y=decimal.Decimal(x)
Decimal('369.68999999999999772626324556767940521240234375')
即使我已经声明了
getcontext().prec = 2
?
那为什么如果我尝试获取摘要以获取 370.00:
y.quantize(decimal.Decimal('0.01'),rounding=decimal.ROUND_UP)
最终出现此错误:
InvalidOperation: quantize result has too many digits for current context quantize result has too many digits for current context
【问题讨论】:
-
y=y.quantize(decimal.Decimal(),rounding=decimal.ROUND_UP) 适合我