Java Math.pow无法正常工作

参见英文答案 > Integer division: How do you produce a double?                                    10个

System.out.println(Math.pow(16, 0.5)); is 4.0

System.out.println(Math.pow(16, (1/2)));  is 1.0

为什么???我需要使用分数!

最佳答案
1/2是0,由于整数除法,因此Math.pow(16,(1/2)是Math.pow(16,0),即1.0.

为了使用浮点除法评估1/2,您必须将1或2转换为double:

System.out.println(Math.pow(16, ((double)1/2)));

或者首先使用双文字:

System.out.println(Math.pow(16, (1.0/2)));

要么

System.out.println(Math.pow(16, (1/2.0)));

转载注明原文:Java Math.pow无法正常工作 - 代码日志