Ответ 1
Это связано с тем, как компьютеры с плавающей точкой обрабатываются. Рекомендуемый текст для полного понимания темы: Что каждый компьютерный ученый должен знать о арифметике с плавающей точкой
Возможный дубликат:
Арифметика с плавающей точкой не дает точных результатов в Java
Недавно я работал над проектом, когда натолкнулся на странную ошибку.
Когда 2 вычиталось из 65.12, значение было больше (не равно) 63.12.
Здесь упрощенный код: System.out.println(65.12-2);
И вывод в консоли: 63.120000000000005
Я не уверен, почему это так, и если кто-нибудь знает простую исправление/обходное решение, это будет здорово!
Спасибо.
Это связано с тем, как компьютеры с плавающей точкой обрабатываются. Рекомендуемый текст для полного понимания темы: Что каждый компьютерный ученый должен знать о арифметике с плавающей точкой