ven*_*sai -1 python mysql django
这就是我得到一堆学校平均分的方法
def get_clu_average(self):
clu_strength = 0
clu_total = 0
for school in self.school_set.all():
clu_strength = clu_strength + school.strength
clu_total = clu_total + school.get_average() * school.strength
return clu_total / clu_strength
Run Code Online (Sandbox Code Playgroud)
所以该值将是一个十进制数。当我直接在模板中使用它时,我得到了很多小数位。如何将值限制为小数点后两位?
floatformat您可以在模板中使用内置过滤器:
{{ value|floatformat:'2' }}
Run Code Online (Sandbox Code Playgroud)
或者通过为上下文格式化字符串decimal.Decimal或使用实例而不是浮点来限制视图代码中的精度:
val = obj.get_clu_average()
val_str = '{.2f}'.format(val)
# OR
from decimal import Decimal as D
val_dec = D(val).quantize(D('0.01'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |