十进制数字默认四舍五入非常意外,为了使其正常工作,需要使用ROUND_HALF_UP
选项。
>>> from decimal import *
>>> Decimal("2.5").quantize(Decimal(1))
Decimal('2')
>>> getcontext().rounding = ROUND_HALF_UP
>>> Decimal("2.5").quantize(Decimal(1))
Decimal('3')
>>> Decimal("2.4").quantize(Decimal(1))
Decimal('2')
我的问题是 - 我必须在 Django 应用程序的哪个位置设置舍入选项,以便它可以在项目中全局工作?通过全局说,我的意思是模板(floatformat 模板标签)、视图、模型十进制字段等等。