1

Я тестирую кратные 0,4 в Excel.

= MOD(1,2; 0,4)

возвращает 0,4, когда он должен вернуть ноль.

1 ответ1

4

Причина в том, что Excel внутренне работает с числами с плавающей запятой.

Это означает, что 0,4 внутренне представляется как битовая последовательность справа от десятичной запятой, которая представляет 1/2, 1/4, 1/8, 1/16 и т.д., До примерно 1/(2 ^ 31).

Следовательно, все, что не является целым числом (и не является точно представимым с дробями, перечисленными выше), имеет связанную с этим ошибку округления; это относится и к каждому этапу расчета.

MOD(*,0.4) - это только один пример, чтобы показать это (довольно вопиющий, я дам вам это).

По сути, вы не можете надежно использовать MOD с нецелыми числами в качестве второго параметра. Вы должны умножить и разделить ваши данные соответственно, если это вариант (например, =MOD(10*x;10*m)/10), или кодировать формулу MOD самостоятельно: =x-INT(x/m)*m

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