【发布时间】:2011-04-06 12:12:15
【问题描述】:
我希望用户能够输入标准十进制值,例如 1.51,或以科学计数法输入值,例如 4.08E+13。
我在我的模型中设置了一个小数字段,但是当我尝试输入上述示例时,我收到了以下验证消息:
“确保不超过 3 位小数。”
旁注:
我确实注意到 Python 已经支持这种格式:
>>> from decimal import Decimal
>>> print Decimal("4.08E+13")
4.08E+13
所以也许在 Django 中设置一些东西不会太难?
【问题讨论】:
-
您是否有意避免阅读此内容:docs.djangoproject.com/en/1.3/ref/models/fields/…?
-
4.08E+13 有两位小数,我最多允许三位。您是否故意避免阅读我的问题!
-
4.08E+13 没有任何个小数位。但是,它确实有 14 位数字。
-
@Greg - 如果我错了,请纠正我,但 S. Lott 提供的链接不是直接带您了解如何设置 Django 以允许 X小数位数和最大位数?
-
我按照这些说明进行操作。我尝试了各种方式的 decimal_places 和 max_digit 值。如果我将它们提高得非常高,它似乎接受了这个值,但随后给了我这个错误:“quantize result has too many numbers for current context”
标签: python django django-models decimal scientific-notation