今天看了张老师的移动计费系统我才发现有这个问题,以前从来都没有遇见过得问题。
float a = 1234567.899f;
System.out.println(a);
System.out.println(a == 1234567.899);
一般的人遇到这个问题认为结果是true,我当时也是这样认为,但是听了张老师一番解释以后我才恍然大悟啊,因为小数自没有确定大小,如0.1111111111-0111111112之间有多少个小数,大家也没有想过这个问题,但是这两个数自己有无数个小数,可以看出小数比较是用方差来衡量的,所以一般用小数都不会比较大小,跟确切的说一般大多数都是double类型的小数,很少用float类地小数。