<p>我需要以尽可能高的精度进行计算,<strong>不管传递的参数是整数、浮点还是任何数字</strong>。我可以这样想:</p>
<pre><code>import numpy as np
def foo(x, y, z)
a = (np.float64)0
a = x + y * z
</code></pre>
<p>我可以看到一些问题:1)我认为我需要转换输入,而不是转换结果来工作2)看起来很难看(第一个操作是多余的C样式声明)。在</p>
<p><em>我如何以最高可用精度执行所有计算,然后以最高可用精度(即IMO)存储结果数字浮点数64)? </em></p>
<p>可以声明变量,但可以尝试将其强制为预期类型</p>
<pre><code>import numpy as np
def foo(*args):
x, y, z = map(np.longdouble, args)
return x + y * z
foo(0.000001,0.000001, 0.00000000001)
</code></pre>