【发布时间】:2012-01-21 01:23:09
【问题描述】:
在 Lua 中,我如何判断一个数是否能整除另一个数?即没有余数?我只是在寻找布尔值 true 或 false。
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
【问题讨论】:
标签: math lua division coronasdk
在 Lua 中,我如何判断一个数是否能整除另一个数?即没有余数?我只是在寻找布尔值 true 或 false。
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
【问题讨论】:
标签: math lua division coronasdk
将除法的余数与零进行比较,如下所示:
12 % 6 == 0
18 % 6 == 0
20 % 6 ~= 0
模运算符 (%) 返回除法的余数。 12 和 6 为 0,但 20 和 6 为 2。
它使用的公式是:a % b == a - math.floor(a/b)*b
【讨论】:
使用模运算符的问题是,它不能在负数上正常工作。如果您要使用负数,请改用math.fmod:
maxtothemax@maxtothemax-mint ~ $ lua
> return -13%6
5
> return 13%6
1
> return math.fmod (-13, 6)
-1
> return math.fmod (13, 6)
1
>
【讨论】:
-13 % 6 == 5 是否不正确,见仁见智。这通常是您想要的行为。