Java Math.pow无效

Ape*_*nut 3 java pow

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)