In Lua, wie kann ich feststellen, ob eine Zahl teilt sich gleichmäßig in eine andere Nummer?
In Lua, wie kann ich feststellen, ob eine Zahl teilt sich gleichmäßig in eine andere Nummer? ich.e mit kein Rest? Ich bin gerade auf der Suche nach einem booleschen Wert true oder false.
12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergleichen Sie den Rest der division null, so wie hier:
Den modulo-operator (
%
) liefert den Rest der division. Für 12 und 6 ist 0, aber für 20 und 6 es ist 2.Die Formel verwendet wird, ist:
a % b == a - math.floor(a/b)*b
Das problem bei der Verwendung der modulo-operator ist, es funktioniert nicht korrekt bei negativen zahlen. Wenn du gehst zu sein mit negativen zahlen, nutzen
math.fmod
statt:-13 % 6 == 5
falsch ist Ansichtssache. Dies ist oft das Verhalten, die Sie wollen.