我试图找到一个负数的立方根,但我得到一个NaN.有帮助吗?
System.out.println(Math.pow(-8, 1.0 / 3.0));
Run Code Online (Sandbox Code Playgroud)
Eti*_*tel 14
状态的Java文档Math.pow:
如果第一个参数是有限的并且小于零[...] [和]如果第二个参数是有限的而不是整数,则结果是NaN.
您可以使用Math.cbrt获取多维数据集根目录:
double result = Math.cbrt(-8.0);
Run Code Online (Sandbox Code Playgroud)
请记住,在数学上,有3个立方根.假设你想要真正的根,你应该这样做:
x = 8; // Your value
if (x > 0)
System.out.println(Math.pow(x, 1.0 / 3.0));
else
System.out.println(-Math.pow(-x, 1.0 / 3.0));
Run Code Online (Sandbox Code Playgroud)
编辑:正如其他答案提到的那样Math.cbrt(x).(我不知道存在)
具有负基和非积分功率的pow返回的原因NaN是通常通过复平面中的角度大小来完成供电.
NaN.