为什么Math.pow(long,(1/3))总是返回1?

Ily*_*lya 6 java math

如果问题在于权力,如何正确写入?

Sve*_*ach 27

这是因为1/3是整数除法,它的计算结果为0.你有效地提高到0次幂,总是产生1.尝试1.0/3.0改为.


ada*_*shr 14

试试Math.pow(long, 1D/3).

默认情况下,Java中的数字文字被视为int.因此,应将1/3转换为0而不是0.33333.使用1D或1F或1.0进行鉴定将解决问题.