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