2

Предполагается, что он равен нулю, но по какой-то причине результат дает в конце своеобразную последовательность цифр

Кроме того, вот .xlsx этого: http://83.212.111.36/Book1.xlsx

2 ответа2

8

Это происходит из-за ограниченной точности представления чисел с плавающей запятой на компьютерах и не может быть исправлено, потому что это внутренняя проблема способа представления чисел на компьютере. Там могут быть обходные пути, такие как round() или умная реализация формул, чтобы уменьшить распространение ошибок.

Excel использует 8-байтовое (64-битное) представление с плавающей точкой, что означает, что он может достичь максимальной точности около 10 ^ -15. Неточность может затем распространиться на этапы расчета.

Я предлагаю вам прочитать эту статью в Википедии, которая исследует эту тему.

3

Самостоятельная публикация: это задокументированное ограничение для арифметики с плавающей запятой: http://support.microsoft.com/kb/78113

ИМО должно быть более наглядным предупреждением, когда результаты могут быть настолько явно ошибочными, чтобы их не считали ошибкой, но в любом случае.

Обходной путь должен использовать round().

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .