截断浮点数的十进制数始终向下舍入

时间:2015-01-05 11:53:23

标签: django

我有一个浮点字段,我试图只显示小数点前面的数字

因此8.70将显示为8。如果值为9.00,则应显示为9

当我尝试使用|floatformat:"0"时,8.70将显示为9

我怎样才能确保它永远不会完成?

2 个答案:

答案 0 :(得分:0)

如果您只需要显示它的组成部分,请使用{{ value|stringformat:"d" }}。否则,请构建自定义过滤器。

答案 1 :(得分:0)

我认为没有内置的模板标签可供您查找。

我认为你有两种选择。

如果该值不会在您网页上的任何其他位置使用,您可以通过更改上下文字典来更改它传递给模板的方式

return render(request, 'templates/my_template.html', {'my_value': math.floor(my_value)})

否则,您可以构建自己的模板标记。

@register.filter
def floor_floats(value):
    return math.floor(value)

然后在模板上使用它:

{{ value|floor_floats }}

希望这有帮助