Glt*_*Btn 8 java floating-point division exponentiation
我试图计算a^(1/n)
,其中^
表示取幂.
但是,以下内容:
Math.pow(8, 1/3)
Run Code Online (Sandbox Code Playgroud)
返回1.0
而不是返回2.0
.
这是为什么?
NPE*_*NPE 17
问题是1/3
使用整数(截断)除法,其结果为零.将您的代码更改为
Math.pow(8, 1./3);
Run Code Online (Sandbox Code Playgroud)
(.
将其1.
转换为浮点字面值.)
1/3
变0
(由于1
和3
被当作int
文本).
所以你应该让那些文字浮动/加倍......
做:
Math.pow(8, 1f/3)
要么
Math.pow(8, 1./3)
要么
Math.pow(8, 1.0/3)