擅长:python、mysql、java
<p>我对<code>decimal</code>没有太多的经验,但是您得到的错误是,您不能将<code>**</code>运算符与十进制和浮点一起使用。解决方法是将指数也设为<code>Decimal</code>,这样就可以代替<code>dc.Decimal("10005")**(1/2)</code>执行<code>dc.Decimal(10005)**dc.Decimal(1/2)</code>。你知道吗</p>
<p>基本上,你不能把<code>Decimals</code>和<code>floats</code>结合起来,但是<code>integers</code>不是问题。除法<code>integers</code>时只需小心,因为这将导致<code>floats</code>,因此还需要将<code>sum1 += a/b</code>改为<code>sum1 += dc.Decimal(a)/b</code>。当一个操作数是<code>Decimal</code>时,结果也将是<code>Decimal</code>。程序中的所有其他数字都是整数,所以现在应该可以正常工作了。你知道吗</p>