我需要的数字不是整数,但也有一半0.5
所以我将模型从IntegerField
切换为DecimalField
。
但是,数字现在显示为5.00
,这太过分了。我有哪些选项可以显示不带尾随零的数字:0.5
而不是0.50
和5
而不是5.00
?
我很想知道如何构建框架来完成这项工作 - 函数,装饰器或某种模板标签,或者某种本地化。知道更好的人应该能够剖析并解释最佳选择。
答案 0 :(得分:4)
要在模板中执行此操作,最简单的方法是使用floatformat
内置过滤器。要在代码中执行此操作,您可以选择更多选项 - 您可以编写自己的格式代码或从floatformat
导入django.template.defaultfilters
并在小数值上调用它。
一般来说,DecimalField
对于这类事情来说是个不错的选择,但你不应该声明它比你需要的更精确。