Mod 和 Remainder 参考

MODREMAINDER 两个函数都返回两个数字相除的余数。区别在于 MOD 在其算法中使用函数 FLOOR,而 REMAINDER 则使用函数 ROUND。这一区别可能会影响结果。例如,调用 MOD (34.5, 3) 返回 1.5。调用 REMAINDER (34.5, 3) 则返回 -1.5。对于 REMAINDERn 不能为零。

这两个函数的公式为:

MOD (m, n) = SIGN (m) * (ABS(m) - (ABS (n) * FLOOR(ABS (m) / ABS (n))))

REMAINDER (m,n) = m - (n*ROUND (m/n)

检查下表即可看出区别:

如果 m= 且 n= MOD (m,n) 返回 REMAINDER (m,n) 返回
11 4 3 -1
11 -4 3 -1
-11 4 -3 1
-11 -4 -3 1