如何检查数字是否有余数?

时间:2013-12-20 15:40:16

标签: modulus

如果数字没有余数,我想将数字打印为整数。我尝试这样做,但它似乎不起作用:

if(result%10==0)System.out.println(result.intValue());

然后我尝试打印:

System.out.println(result%10);

如果结果= 7.0,则打印出7.0。那么如何检查数字是否有余数?

3 个答案:

答案 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`