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