public class A{
public static void mian(String[] args){
double a,b,c;
a=1.1;
b=2.2;
c=a+b;
System.out.println(c);
}
}输出结果是:3.3000000000000003
为什么会这样叻?
public static void mian(String[] args){
double a,b,c;
a=1.1;
b=2.2;
c=a+b;
System.out.println(c);
}
}输出结果是:3.3000000000000003
为什么会这样叻?
看看http://blog.csdn.net/xiaohai0504/article/details/6894440
可以看看这个
都乘10加完再除
其实是因为计算机表示数字的时候都是用2进制表示的,在整数中用2进制表示都可以精确的表示十进制的数字,但是如果要表示小数的话2进制就不能精确的表示10进制的数字了,0.1(2) = 0.5(10), 0.01(2) = 0.25(10)
表示0.1的话就不能精确的表示了如果要想精确的表示的话可以去用BigDecemal等几个类