擅长:python、mysql、java
<p>您的结果不正确,因为decimal也有精度(decimal是定点数学),所以这里也有下溢问题:</p>
<pre><code>Decimal('.01')**Decimal('1e6')
</code></pre>
<blockquote>
<p>Decimal('0E-1000026')</p>
</blockquote>
<p>但是:</p>
^{pr2}$
<blockquote>
<p>Decimal('1E-2000000')</p>
</blockquote>
<p>您可以通过手动设置精度(如上述示例所示)或手动计算功率来解决您的问题,例如:</p>
<pre><code>Decimal('.01')**Decimal('1e6')
</code></pre>
<p>可以转换为</p>
<pre><code>Decimal('1e-2') ** Decimal('1e6')
</code></pre>
<p>以及后来</p>
<pre><code>1 ** ((-2) ** 1e6) = 1 ** (-2000000)
</code></pre>
<p><a href="https://docs.python.org/3.8/library/decimal.html" rel="nofollow noreferrer">Decimal module documentation</a></p>