sqrt需要int但我已经在使用int了

时间:2015-04-19 17:01:47

标签: java sqrt

int Asum,temp4;
temp4=Math.sqrt(Asum);

这是我正在撰写的代码的一部分。我已经将Asum和temp4声明为整数。我正在尝试获取Asum的sqrt并将其分配给temp4。但由于某种原因,java给了我错误:可能会失去精度。 REQD = INT。 found = double。 我需要temp4和Asum是一个整数。而且没有必要得到精确的十进制值,我只需要四舍五入的整数。

3 个答案:

答案 0 :(得分:1)

您是否尝试向int添加显式强制转换,以便编译器知道您知道自己在做什么?

temp4= (int) Math.sqrt(Asum);

答案 1 :(得分:1)

temp4不应该是整数......它可能是浮点数。

答案 2 :(得分:0)

我认为您需要使用Math.round函数。

尝试:

temp4=Math.round(Math.sqrt(Asum));