在我的一个Django模型中,我有一个字段可以是基于用户的IntegerField
或DecimalField
当记录的值是一个整数时,表单应该只显示/编辑它,不带尾数字。当记录的值有小数时,所有的小数都应该在表单上显示/编辑。
我尝试将此字段定义为DecimalField并使用表单,但挑战是我使用django-crispy-forms
来呈现我的表单,因此我不能在模板中使用floatformat
过滤器。
结果,例如,作为整数的5
在我的表单中显示为5.00000000
。
有办法解决这个问题吗?
如果您想要指定删除的0的数量,请尝试使用这个:
{{ your_number|floatformat:"-8" }}
或者您也可以使用normalize
来删除所有后面的0:
{{ your_number.normalize }}
尝试使用round()
函数。链接
当不指定一组十进制数字时,它只是删除后面的任何零。
在处理表单数据时尝试使用int()函数