可能会失去精确度

时间:2013-02-27 21:19:21

标签: java

我正在尝试在java中运行此代码并获得以下错误,需要int found double。

public class UseMath{
public static void main(String[]args){
  int x = Math.pow (2,4);
System.out.println ("2 to the power of 4 is" + x);

 }
}

1 个答案:

答案 0 :(得分:12)

如果您看一下documentationMath.pow()预计有两个doubles,并返回double。当你将ints传递给这个函数时,这意味着没有坏处,因为将int转换(转换)为double意味着没有损失。但是,当您将值分配给int时,意味着它可能会失去精确度。

只需这样做:

int x = (int)Math.pow (2,4);

double x = Math.pow (2,4);