System.out.println(Math.pow(16, 0.5)); is 4.0
和
System.out.println(Math.pow(16, (1/2))); is 1.0
为什么???我需要使用分数!
答案 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)));