Possible de selectionné une position dans int

Bonjour j’aimerais savoir si ces possible de séparé un nombre en sélectionnant une position précise dans un int

comme exemple dans 'int Num = 7890;' j’aimerais séparé par chiffre Num1=7, Num2=8, Num3=9, Num4=0,

ou sélectionné, exemple le 2e caractère de 7890 qui serais "8"

Merci!

int Num = 7890;

int Num1 ;
int Num2 ;
int Num3 ;
int Num4 ;

void setup() {
 Serial.begin(9600);
 Serial.println("");
 Serial.println(Num); 
 Serial.println("");
 Serial.println(Num1); 
 Serial.println("");
 Serial.println(Num2); 
 Serial.println("");
 Serial.println(Num3); 
 Serial.println("");
 Serial.println(Num4); 
}

Bonjour,

Il suffit d'une suite de divisions par les puissances de 10

  Num1 = Num / 1000;
  Num2 = (Num / 100) % 10;
  Num3 = (Num / 10) % 10;
  Num4 = Num % 10;

Mais il vaut mieux utiliser un tableau que des variables simples

  int num[4];
  int div = 1000;
  for (int i = 0; i < 4; i++)
  {
    num[i] = Num / div % 10;
    div /= 10;
    Serial.println(num[i]);
  }

Merci ça fonctionne numéro 1 :slight_smile:

je connaissais pas la DIV le recherche dans le manuel mais trouve pas d'info dessus ...

Marco216:
je connaissais pas la DIV le recherche dans le manuel mais trouve pas d'info dessus ...

vous voulez parler de int div;c'est le nom de la variable

un division se note avec un '/' et quand on travail en entier, il y a un reste qu'on appelle Le modulo (le plus petit reste positif de la division) que l'on obtient avec '%'

par exemple si avec 13 et 5

13 / 5 => 2
13 % 5 => 3

(parce que 13 = 5 x 2 + 3)

et quand on note     div /= 10;c'est un raccourci qui fait la même chose que     div = div / 10;