当算术表达式具有浮点时,为什么%给出不同的答案?

时间:2016-11-21 13:08:23

标签: java operators modular-arithmetic

我最近开始学习java,这个问题一直困扰着我......

    class Example{
        public static void main(String args[]){
        double d;
        d=4.1 % 1.1;
        System.out.println("4.1%1.1 : "+d);

        d=5.5 % 1.1;
        System.out.println("5.5%1.1 : "+d);
        }
    }

上述程序的输出是 4.1%1.1:0.7999999999999994和 5.5%1.1:1.0999999999999996

但是当我们手工完成这些计算时,第一个得到0.8,第二个得到0 ......为什么会这样?

当在表达式中使用整数时,

%给出正确答案。

    class Example{
        public static void main(String args[]){
        int x;
        x=10%17;
        System.out.println("10%17 : "+x); **//prints 10**
        }
    }

任何人都可以解释这里到底发生了什么?

0 个答案:

没有答案