Почему Excel не округляется в соответствии с 8-байтовым IEEE 754

Следующее выражение оцениваетfalse в C #:

(1 + 1 + 0.85) / 3 <= 0.95

И я предполагаю, что это происходит в большинстве других языков программирования, которые реализуют IEEE 754, так как(1 + 1 + 0.85) / 3 оценивает0.95000000000000007, который больше чем0.95.

Тем не менее, даже еслиExcel должен также реализовать большую часть IEEE 754следующие значения оцениваются как ИСТИНА в Excel 2013:

= ((1 + 1 + 0.85) / 3 <= 0.95)

Есть ли какая-то конкретная причина для этого? В приведенной выше статье не упоминаются какие-либо пользовательские реализации Excel, которые могут привести к такому поведению. Можете ли вы сказать Excel строго округлить в соответствии с IEEE 754?

Обратите внимание, что хотя большинство вопросов Excel следует задавать на сайте superuser.com, этот вопрос касается арифметики с плавающей запятой, которая является распространенной проблемой в языках программирования. С точки зрения темы этого вопроса, Excel - это язык программирования, такой как C # или Java.

Ответы на вопрос(1)

Ваш ответ на вопрос