%
中的负数怎么办VF
?
MOD(10,-3) = -2
MOD(-10,3) = 2
模式(-10,-3)= -1
为什么?
它是一个常规模数:
mod 函数定义为一个数超过不大于该数的除数的最大整数倍的量。
你可以这样想:
10 % -3 :
小于-3的10的最大倍数是-2。
-210 % -3
也是如此。
-10 % 3 :
现在,为什么-10 % 3
是2?
考虑它的最简单方法是在负数上加上2的倍数,使数字变为正数。
-10 + (4*3) = 2
所以-10 % 3
= (-10 + 12) % 3
= 2 % 3
= 3
以下是我们在 The Hacker's Guide to Visual FoxPro 中所说的:
MOD() 和 % 在处理正数时非常简单,但是当其中一个或两个数字为负时它们会变得有趣。理解结果的关键是以下等式:
MOD(x,y) = x - (y * FLOOR(x/y))
由于没有为负数定义数学模运算,因此很高兴看到 FoxPro 的定义在数学上是一致的。但是,它们可能与您最初的预期不同,因此您可能需要检查负除数或股息。
一些测试(和手册)告诉我们,正除数给出正结果,而负除数给出负结果。