Как работает Math.abs и почему когда он выводит цифры явно больше 0.000001 к примеру 1.9 или 2 то никак не ошибается при сравнении? System.out.println(Math.abs(1.300400500 - 1.300400700)); // так показывает java 1.9999999989472883E-7 if (Math.abs(1.300400500 - 1.300400700) < 0.000001) { // ведь 1.99 никак не меньше 0.000001 System.out.println("числа равны"); } else { System.out.println("числа не равны"); } Вот что показывает java 1.9999999989472883E-7 числа равны
System.out.println(Math.abs(13.300400500 - 13.300400700));
        if (Math.abs(13.300400500 - 13.300400700) < 0.000001) {
            System.out.println("числа равны");
        } else {
            System.out.println("числа не равны");
        }
2.0000000056086265E-7 числа равны