Paramètre variable int

Bonjour, Y a-t-il une manière de paramétrer une variable de type Int pour quelle ne puisse contenir que le nombre de chiffres(: caractère) imposé ?

Une image vaut mieux qu'un long discours,

int a=32
int b=2

a="Paramètre" 3 // la variable possède 3 caractères
b="Paramètre" 4 // "" "" 4 caractères

a // donne a=032
b // "" "" b=0002

Et pour le cas inverse ce n'est pas grave, Du style :

int a=333

a="para" 2 // 2 caractère maxi

a // donne a=33

Une solution ? :slightly_smiling_face: Merci.

Non, ça n'est pas possible car un nombre n'est pas défini par des "caractères" donc soit tu limites les valeurs possibles par des tests de valeur et tu remontes une erreur lorsque le programme essaie d'affecter une valeur hors de ton domaine de valeur possible soit tu gères ça sous forme de chaine de caractères si c'est le nombre de chiffres qui importe.

Ah m'en doutais j'ai rien trouvé sur le web :confused: Bon j'vais chercher une autre solution alors Merci.

Epic-star: Bon j'vais chercher une autre solution alors

Le fait que cela n'existe pas ne veut pas dire que c'est impossible. Il suffit d'écrire la fonction qui va tester une valeur saisie et retourner un booléen qui dit si elle est valide ou pas

Il y a une possibilité avec une condition if()

Tu testes si ton nombre est plus grand que 99, si c'est le cas tu divises par 10.

Si tes nombres ont une probabilité d'être dans une fourchette de 100 à quelques milliers ou millions, tu fais une condition while() qui divise le nombre par 10 tant qu'il est plus grand que 99.

ça te bloquera le programme pendant la condition while.

Comme ce sont des int il n'y aura pas de nombres à virgules.

3 chiffres = nombre entre 100 et 999, si je ne m'abuse ;)

XavierMiller: 3 chiffres = nombre entre 100 et 999, si je ne m'abuse ;)

Et divisé par 10 ça donne bien entre 10 et 99 qui sont des nombres à deux chiffres... :grinning: