Forums - La Blocothèque - toInteger (booléen)

  • This topic has 2 réponses, 2 participants, and was last updated il y a 3 months et 1 week by Anonyme. This post has been viewed 154 times
  • Anonyme  | Posté le 7 février 2024 à 9 h 11 min

    Bonjour à tous,

    Dans le cadre d’un projet je suis amené à faire faire un appariement pour lequel je ne souhaite pas un résultat vrai/faux mais un compte du nombre de zones correctement appariées.

    Il est simple de faire ça en associant dans le bloc « appariement » un booléen à chaque zone. Par contre, pour les compter il faut enchaîner une succession de tests (si le booléen est vrai alors incrémenter mon nombre de zones correctes), soit explicitement soit éventuellement en utilisant le bloc « foreach » (si les booléens ont été préalablement rangés dans une liste).

    Il serait beaucoup plus simple de pouvoir convertir les booléens en entiers. Dans ce cas le comptage se limiterait à un bloc variable : nb_zones = toInteger(booléen) + toInteger(booléen) + toInteger(booléen) + toInteger(booléen) + etc…

    Et j’imagine plein d’autres cas d’usage…
    Merci d’inclure cela dans votre road map si vous le pouvez (et bravo pour les nouveautés de la version 6.5)

    Yannick Audéoud  | Posté le 7 février 2024 à 9 h 35 min

    Bonjour,

    Vous pouvez utiliser utiliser la fonction countFlags, qui permet de compter les flags (= booléens) à true parmi un ensemble de flags donnés en paramètres.

    Par exemple, countFlags(a, b, c, d) vaudra 2 si a et c sont true, et que b et d sont false.

    countFlags est limité à 8 paramètres, mais si vous en avez plus, vous pouvez additionner plusieurs countFlags : countFlags(f1, f2, … f8) + countFlags(g1, g2, … g8)

    En vous souhaitant une excellente fin de journée !

    Yannick

    Anonyme  | Posté le 7 février 2024 à 11 h 23 min

    Merci beaucoup, c’est parfait