这就是我获得一堆学校平均分数的方法
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
因此该值将是十进制数。当我在模板中直接使用它时,我得到了很多小数位。如何将值限制为仅2位小数?
答案 0 :(得分:1)
您可以在模板中使用内置的floatformat
过滤器:
{{ value|floatformat:'2' }}
或根据您的上下文formatting a string限制视图代码的精度,或者使用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'))