我是Java新手。我正在写一个小程序来计算一个数字的值,当我遇到一个问题时,负数被提升到一个小数指数。
System.out.println(Math.pow(-8, 1/3f));
输出是NaN,而我期待-2?
我做错了什么?有没有其他方法来计算这样的问题?
任何帮助表示感谢。
答案 0 :(得分:2)
documentation 中描述了这种情况。
如果第一个参数是有限的且小于零。 < ...> 如果第二个参数是有限的而不是整数,则结果为NaN。
据我所知,Java标准库中没有方法可以实现,所以你必须手动实现它。