Salut,
Toujours poser de tres simple question, avec une valeur donne (en argument) comment je peux tester que cette valeur est entier ou non?
ex : perl monScript.pl 10
Je veux verifier si 10 est un entier ou non (dans le script)
Merci
Salut,
Toujours poser de tres simple question, avec une valeur donne (en argument) comment je peux tester que cette valeur est entier ou non?
ex : perl monScript.pl 10
Je veux verifier si 10 est un entier ou non (dans le script)
Merci
Avec une regex, selon la complexité du problème.
(Voir perlfaq4.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ( $valeur =~ m!\d+! ) { print "un entier\n"; } else { print "autre chose\n"; }
Oooops: je voulais dire plutôt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if ($valeur =~ m!^\d+$! ){
Pour les matheux, la fonction int() est sans doute préférable, et ça risque d'être plus performant qu'un regexp...
D'autant plus que les regexps présentés souffrent de deux défauts : ils ne prennent pas en compte les nombres négatifs, ni la possibilité qu'il y ait des blancs dans les variables avant ou après les chiffres (ce qui peut arrivé lors d'une saisie interactive).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sub est_entier { return $_[0] == int($_[0]) ? 1 : 0; } for my $num (2, 3.3, -7, -3.5) { print "$num ", (est_entier($num) ? 'est' : q(n'est pas)), " entier\n"; }
N
Partager