第一点:在计算机中默认浮点数是double型,所以float定义时必须加个f或F。(有些东西默认就是默认,我们没办法深究,例如在计算byte取值范围时1000 0000就代表-128,别问我为什么,你去问规定的人去) 第二点:在精确运算时最好别用double float。因为会有舍入误差。
double a
=3.0;
double b
=2.9;
float c
=3.0f;
float d
=2.9f;
System
.out
.println(a
-b
);
System
.out
.println(c
-d
);
处理高精度的时候可以用BigDecimal类,然而我测试的时候发现还是会丢失精度,查了查说我们需要传String类型,发现处理精度可以了