當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。