System.out.println(Math.pow(16, 0.5)); is 4.0
Run Code Online (Sandbox Code Playgroud)
和
System.out.println(Math.pow(16, (1/2))); is 1.0
Run Code Online (Sandbox Code Playgroud)
为什么???我需要使用分数!
Era*_*ran 11
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)));
Run Code Online (Sandbox Code Playgroud)
或者首先使用双文字:
System.out.println(Math.pow(16, (1.0/2)));
Run Code Online (Sandbox Code Playgroud)
要么
System.out.println(Math.pow(16, (1/2.0)));
Run Code Online (Sandbox Code Playgroud)