Django 用多位数字保存位显示2

Django 用多位数字保存位显示2,django,python-2.6,Django,Python 2.6,我想用10位小数保存在数据库中,但在GUI中只显示2位小数 数据类型并不重要 有什么简单的方法可以做到这一点吗 谢谢 Henrik如果数据类型不重要,最简单的方法是将其作为文本存储在数据库中,然后在显示时解析数量 >>> silly = '12345.6789098765' >>> silly[:silly.rfind('.')+3] '12345.67' 稍微先进一点;假设您不需要精确性: >>> "{0:0.2f}".format(fl

我想用10位小数保存在数据库中,但在GUI中只显示2位小数

数据类型并不重要

有什么简单的方法可以做到这一点吗

谢谢
Henrik

如果数据类型不重要,最简单的方法是将其作为文本存储在数据库中,然后在显示时解析数量

>>> silly = '12345.6789098765'
>>> silly[:silly.rfind('.')+3]
'12345.67'
稍微先进一点;假设您不需要精确性:

>>> "{0:0.2f}".format(float(silly))
'12345.68'

答案实际上是双重的

  • 如何存储数据

    不要将其存储为CharField或其他内容。只需将其存储为或

  • 如何只显示两个小数

    使用模板标记,该标记将完整值作为输入,并输出一个与所需小数位数四舍五入的小数。在您的例子中,这将是
    {{value | floatformat:2}

  • 请注意,浮点数和小数字段都是



    [指出不需要自定义模板标记值得称赞]

    有无舍入?从长远来看,有时“简单的方法”是困难的。你不需要编写模板标记,你只需使用“谢谢”,只需将我的所有数据修复回我的db(:-)中,然后我就会尝试这个方法。返回给您。@kingRauk要接受答案,您必须单击向上和向下投票箭头下方的“V”。
    models.DecimalField(..., max_digits=20, decimal_places=10)