Здравствуйте, я сначала складываю все значения массива, далее сумму делю их на количество элементов, нахожу общее арифметическое. Далее я из каждого элемента массива вычитаю общее арифметическое, а потом складываю значения. В результате я получаю отрицательный 0, а при выводе в консоль вообще значение становится -2.6645352591003757E-15. В интернете нашел метод Double.compare(), преобразующий отрицательный 0 в положительный, и тогда в консоль выводит нормальный ноль. Вот у меня вопрос, почему при сложении получаю -0, а вывод -2.6645352591003757E-15. Проанализировал дебаг, и у меня есть подозрение, что происходит это потому, что в double возвращается значение с запятой, а не с точкой. Проясните, пожалуйста, ситуацию. Как правильно складывать и выводить double?
public class Main {
    public static void main(String[] args) {

        double[] numbers = new double[] {2, 9, 4, 11, (-5), 7};
        double sumArray = 0;
        for (int i = 0; i < (double) numbers.length; i++) {
            sumArray += numbers[i];
        }
        System.out.println("Сумма всех чисел " + sumArray);

        double delArray = sumArray / (double) numbers.length;

        System.out.println("Общий делитель " + delArray);

        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = numbers[i] - delArray;
        }

        double result = 0.0;
        for (int i = 0; i < numbers.length; i++) {
            result = result + numbers[i];

        }
        System.out.println(result);
        System.out.println(Double.compare(result, result));
    }
}