int Asum,temp4;
temp4=Math.sqrt(Asum);
这是我正在撰写的代码的一部分。我已经将Asum和temp4声明为整数。我正在尝试获取Asum的sqrt并将其分配给temp4。但由于某种原因,java给了我错误:可能会失去精度。 REQD = INT。 found = double。 我需要temp4和Asum是一个整数。而且没有必要得到精确的十进制值,我只需要四舍五入的整数。
答案 0 :(得分:1)
您是否尝试向int添加显式强制转换,以便编译器知道您知道自己在做什么?
temp4= (int) Math.sqrt(Asum);
答案 1 :(得分:1)
temp4不应该是整数......它可能是浮点数。
答案 2 :(得分:0)
我认为您需要使用Math.round函数。
尝试:
temp4=Math.round(Math.sqrt(Asum));