Java Math.pow无效

时间:2014-12-18 09:05:59

标签: java pow

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

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

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

1 个答案:

答案 0 :(得分:11)

由于整数除法,

1/2为0,因此Math.pow(16, (1/2)Math.pow(16, 0),即1.0。

为了使用浮点除法评估1/2,你必须将1或2转换成双倍:

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)));