Java中两个小数比较,可能会出现在运算上一样。但是计算机就是不对的情况。比如图1:
原理:这个原理涉及计算机组成原理,就是1.数据在计算机中以二进制存储,2.而这个浮点数呢又大多以IEEE754标准,你学过这两点的话你可以 举例两个数算一下,你就能明白。比如“2 - 1.3”这两个数相减你用IEEE754运算算一遍自然会明白。两个这里我只做简单回答和引导,注意:float在IEEE754中是32位
如何解决这种比较问题呢?这种不一致不会太大,所以我们用一种小范围。解决: