gpt4 book ai didi

python - Django 中的全局小数舍入选项

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:12 25 4
gpt4 key购买 nike

小数默认四舍五入的情况非常意外,为了使其正常工作,需要使用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 模板标签)、 View 、模型小数字段等。

最佳答案

在 1.9.5 中工作(基于 @ark 的评论):

In myapp/apps.py

from __future__ import unicode_literals
import decimal
from django.apps import AppConfig


class MyAppConfig(AppConfig):

name = 'myapp'

def ready(self):
# Set precision
decimal.getcontext().prec = 9
decimal.getcontext().rounding = decimal.ROUND_HALF_DOWN

In settings.py

INSTALLED_APPS = list(INSTALLED_APPS)
INSTALLED_APPS.append('myapp.apps.MyAppConfig')

关于python - Django 中的全局小数舍入选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com