擅长:python、mysql、java
<p>好吧,<code>decimal.Decimal</code>子类型本身就是<code>float</code>,这就是为什么它在模型中被接受的原因。这个十进制。十进制类型为浮点类型提供进一步的算术精度。在</p>
<p>如十进制类型<a href="https://docs.python.org/2/library/decimal.html" rel="nofollow noreferrer">docs</a>中所述,操作:</p>
<pre><code>0.1 + 0.1 + 0.1 - 0.3
</code></pre>
<p>使用十进制。十进制精确地给出<code>0</code>,就像float类型给出一个接近于零的数字:</p>
^{pr2}$
<p>最后,<code>decimal.Decimal</code>数字可以准确地表示。在</p>
<blockquote>
<p>A decimal number is immutable. It has a sign, coefficient digits, and
an exponent. To preserve significance, the coefficient digits do not
truncate trailing zeros. Decimals also include special values such as
Infinity, -Infinity, and NaN. The standard also differentiates -0 from
+0.</p>
</blockquote>
<p>为了在应用程序中有显式的小数,还必须显式并注意十进制转换、每个db In/out或使用cast to <code>decimal.Decimal</code>的序列化操作。在</p>
<p>要进一步深入了解浮点运算在后台的作用,可以访问这个<a href="http://speleotrove.com/decimal/" rel="nofollow noreferrer">Decimal Arithmetic Specification</a></p>