Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django十进制格式字段的值不等于最大值_Django_Django Forms - Fatal编程技术网

django十进制格式字段的值不等于最大值

django十进制格式字段的值不等于最大值,django,django-forms,Django,Django Forms,我的表格中有一个十进制字段,我想限制最小值=0.1和最大值=99.99 purity_percent = forms.DecimalField(max_value=99.99, min_value=0.1, decimal_places=2) 但当我尝试输入值等于0.1或99.99时,我将不工作,我会得到这些错误 对于0.1:确保该值大于或等于0.1。 对于99.99:确保该值小于或等于99.99。 如何将那些也包含在限制中?浮动,如99.99,以二进制形式存储。许多可以用有限的十进制数字表示

我的表格中有一个十进制字段,我想限制
最小值=0.1
最大值=99.99

purity_percent = forms.DecimalField(max_value=99.99, min_value=0.1, decimal_places=2)
但当我尝试输入值等于
0.1
99.99
时,我将不工作,我会得到这些错误

对于0.1:确保该值大于或等于0.1。

对于99.99:确保该值小于或等于99.99。


如何将那些也包含在限制中?

浮动,如
99.99
,以二进制形式存储。许多可以用有限的十进制数字表示的数字都是二进制的重复分数(参见许多其他问题)

特别是,文字
99.99
更接近:

>>> "{:.15f}".format(99.99)
'99.989999999999995'
Python还有小数:

>>> from decimal import Decimal
>>> d = Decimal("99.99")
果不其然,小数点99.99大于浮点最大值99.99:

>>> d <= 99.99
False

谢谢。还有很好的解释。