我最近开始学习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**
}
}
任何人都可以解释这里到底发生了什么?