Django模板:如果以.0结尾,则将float转换为整数?

时间:2010-12-30 20:08:04

标签: django django-templates

在Django模板中,有没有办法将浮点数转换为整数,当且仅当它以.0结尾?

我有一个人口字段,在我的数据库中是一个浮点数。有时它'真的'是一个浮动,结束.5,但更多时候它结束.0,因为有很多人,在这些情况下我宁愿只显示一个整数。

{{ place.population }} people

有什么想法可以巧妙地在Django中解决这个问题吗?

2 个答案:

答案 0 :(得分:28)

您可以使用带有否定参数的floatformat filter

答案 1 :(得分:1)

您可以编写模板标记,但我建议您在模型上使用此方法。

class Country(models.Model):

    ...

    def get_population(self):
        if self.population == int(self.population):
            self.population = int(self.population)
        return self.population

然后在您的模板中,而不是

{{ obj.population }}

你会用这个:

{{ obj.get_population }}