Примечание: вопрос до сих пор не ответил полностью! Эти вопросы не касаются вопроса об усечении частей с плавающей запятой!!!
В Java у меня есть этот простой код:
double sum = 0.0;
for(int i = 1; i <= n; i++){
sum += 1.0/n
}
System.out.println("Sum should be: 1");
System.out.println("The result is: " + sum);
Где n может быть любым целым числом. Для чисел вроде 7,9 ожидаемое значение для суммы должно иметь разницу в последних цифрах суммы, а результат равен 0.999999999998 или что-то, но результат, когда я использую 3, равен 1.0
.
Если вы добавите 1/3 3 раза, вы ожидаете число, близкое к 1, но я получаю ровно 1.0.
Почему?