如果数字没有余数,我想将数字打印为整数。我尝试这样做,但它似乎不起作用:
if(result%10==0)System.out.println(result.intValue());
然后我尝试打印:
System.out.println(result%10);
如果结果= 7.0,则打印出7.0。那么如何检查数字是否有余数?
答案 0 :(得分:0)
如果浮点值等于其截断值,则浮点值为整数:
public boolean isInteger(double x)
{
return x == (int) x;
}
但是,请记住,浮点数通常会出现舍入问题,导致奇怪的结果。例如,当没有舍入错误的正确答案为1时,您可能正在进行一些数学计算并最终得到(例如)1.00000000001的值。如果您将这样的数字传递给上面的isInteger()
,它将返回{ {1}}。如果这是一个问题,您需要使用容差参数进行“足够接近”的检查。
也许是这样的,虽然我想它可以改进:
false
答案 1 :(得分:0)
result
的类型是什么?
如果是浮点(非整数)数,则与0比较可能无效。
更好的等同于
(结果%10 == 0)
可能是
(result.intValue()%10 == 0)
答案 2 :(得分:-1)
int p = 4;
int q = 4;
int result = p + q;
int rem = 10;
int val = result % rem;
if (val == 0 )
{
System.out.println(val + "this value has no remainder");
}
else if(val < rem)
{
System.out.println("given value cannot be devide brcouse its less than the number it going to devide");
}
else {
System.out.println("the remainde of the given value is = "+ val);
}`enter code here`