
В Excel 2007/2010 я наблюдаю следующее странное поведение:
Formula in cell: =2.6+1.4+4.62-8.2
Result in cell: 0.420000000000002000
Странная дополнительная цифра «2» около 14DP в. Может ли кто-нибудь объяснить, почему это происходит?
решение1
Как уже упоминалось в комментариях, этонетошибка. Это происходит из-за неизбежной неточности арифметики с плавающей точкой из-за конечного числа бит, доступных для хранения значений, что приводит к приблизительному представлению, которое становится очевидным, чем больше значимых цифр вы выбираете для отображения.
Вот несколько полезных статей для вас:
Ужас кодирования. Почему компьютеры так плохо справляются с математикой?
Как исправить ошибки округления в арифметике с плавающей точкой
Арифметика с плавающей точкой может давать неточные результаты в Excel
Что каждый специалист по информатике должен знать об арифметике с плавающей точкой
Понимание точности чисел с плавающей точкой, или «Почему Excel выдает мне, казалось бы, неверные ответы?»(Архивная версия с изображениями)