Überprüfen ob Zahl ganzzahlig teilbar ist?

Hallo, ich habe Werte von 0-x. Also 0,1,2,3,4,.....

Ich möchte auf diese Wertreihe 3 verschiedene Events mappen.

Das würde bedeuten das eine Funktion zum beispiel bei 3,6,9 etc. ausgeführt wird,
eine andere bei 2,4,6 usw.

Meine Idee war nun den Wert einfach zu teilen, wenn etwas Ganzzahliges herauskommt, kann ich den Rückschluß ziehen, und die entsprechende Funktion starten.

Aber wie überprüfe ich auf ein ganzzahliges Errgebnis? Stehe da gerade etwas auf dem Schlauch.

Alternativvorschlag wäre auch willkommen.

Lieber Gruß
Chris

Würde was in der Gegend versuchen:

int x;
[...]
if (x/3.0 == x/3) {

es müsste auch mit dem Befehl Modulo (%) gehen

Beispiel aus: Examples -> Button State Change Detection

// turns on the LED every four button pushes by
// checking the modulo of the button push counter.
// the modulo function gives you the remainder of
// the division of two numbers:
if (buttonPushCounter % 4 == 0) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}

Gruß
Harald

Hast Recht, ist einfacher! :blush:

if (buttonPushCounter % 4) {
  // buttonPushCounter/4 != 0
} else {
  // buttonPushCounter/4 == 0
}

Ui, das geht hier fix....

OOOhhh, das sieht gut aus... ich finde sowas gehört auch in die Referenz... egal....

ARG!!! Ich nehme alles zurück!!!!! Ist ja in der Referenz!!! :wink:

...ich probiers gleich mal aus....

Danke!!!!

Lieber Gruß
Chris

PS: Würde denken, das ein Modulo von 2 auch bei 4 oder 6 feuert,
ein Modulo von 3 aber auch bei 6. Das würde sich dann doppeln...

mmh.... ausprobieren....

In Deiner ursprünglichen Frage ging es aber nur um die Unterscheidung zwischen geraden und ungeraden Zahlen. Und da reicht % 2.

Danke, ich bin schon etwas weiter, und es funktioniert suuuuper! :slight_smile:

Lieber Gruß
ChrisS