参见英文答案 > 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无法正常工作 - 代码日志