ルアでは、数値が別の数値に均等に分割されているかどうかをどのように判断できますか?つまり残りはありませんか?私はブール値trueまたはfalseを探しています。ルアでは、数値が別の数値に均等に分割されているかどうかをどのように判断できますか?
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
ルアでは、数値が別の数値に均等に分割されているかどうかをどのように判断できますか?つまり残りはありませんか?私はブール値trueまたはfalseを探しています。ルアでは、数値が別の数値に均等に分割されているかどうかをどのように判断できますか?
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
このような、ゼロ除算の余りを比較する:
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
を使用します。
[email protected] ~ $ lua
> return -13%6
5
> return 13%6
1
> return math.fmod (-13, 6)
-1
> return math.fmod (13, 6)
1
>
を%程度のクールなものは、それが0との比較のためだけでなく – etandel