当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django Round用法及代码示例


本文介绍 django.db.models.functions.Round 的用法。

声明

class Round(expression, precision=0, **extra)

将数字字段或表达式四舍五入到precision(必须是整数)小数位。默认情况下,它四舍五入到最接近的整数。半值是向上还是向下取整取决于数据库。

使用示例:

>>> from django.db.models.functions import Round
>>> Vector.objects.create(x=5.4, y=-2.37)
>>> vector = Vector.objects.annotate(x_r=Round('x'), y_r=Round('y', precision=1)).get()
>>> vector.x_r, vector.y_r
(5.0, -2.4)

它也可以注册为转换。例如:

>>> from django.db.models import FloatField
>>> from django.db.models.functions import Round
>>> FloatField.register_lookup(Round)
>>> # Get vectors whose round() is less than 20
>>> vectors = Vector.objects.filter(x__round__lt=20, y__round__lt=20)
在 Django 4.0 中更改:

添加了precision 参数。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.db.models.functions.Round。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。