Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试计算a^(1/n),其中^表示取幂。
a^(1/n)
^
但是,以下内容:
Math.pow(8, 1/3)
返回1.0而不是返回2.0。
1.0
2.0
这是为什么?
问题是1/3使用整数(截断)除法,其结果为零。将您的代码更改为
1/3
Math.pow(8, 1./3);
(将.变成1.浮点文字。)
.
1.
1/3变为0(因为1和3被视为int文字)。
0
1
3
int
所以你应该让这些文字浮动/双...
做:
Math.pow(8, 1f/3) 或者
Math.pow(8, 1f/3)
Math.pow(8, 1./3) 或者
Math.pow(8, 1./3)
Math.pow(8, 1.0/3)
试试Math.pow(8, (1.0f / 3.0f))吧。
Math.pow(8, (1.0f / 3.0f))
1 / 3会做一个整数除法,这会给你8 ^ 0 = 1
1 / 3
8 ^ 0 = 1