先来引入一个问题
1
System.err.println(9990000110F<=9990000000F);
运行结果是: true
然后你的问题就来了,这个是谁大呢?
12
System.err.println(9990000110F);System.err.println(9990000000F);
看看结果是什么?
9.9899996E99.9899996E9
其实这两个值在jvm是相等的,float有个规定,当位数超过8位时候自动转为科学计数法,然后就存在失真的情况.记录下,水坑来的.