Почему выходной при добавлении одинаковых номеров?Различные результаты при добавлении одинаковых парных разрядов в другом порядке
public class Test {
public static void main(String a[]) {
double[] x = new double[]{3.9, 4.3, 3.6, 1.3, 2.6};
System.out.println(">>>>>>> " + sum(x));
}
public static double sum(double[] d) {
double sum = 0;
for (int i = 0; i < d.length; i++) {
sum += d[i];
}
return sum;
}
}
Выход: 15.7
и если поменять местами значения
double[] x = new double[] {2.6, 3.9, 4.3, 3.6, 1.3};
Я получаю выход как: 15.700000000000001
Как получить тот же выход?
Не обижайтесь, но почему так много upvotes? Еще один вопрос с плавающей точкой. Ответ один и тот же раз. – Radiodef