OVH Cloud OVH Cloud

est ce un nombre ?

4 réponses
Avatar
kurtz_le_pirate
bonjour,

je suis a la recherche d'une fonction me permettant de tester si un scalaire
est un nombre, enfin, un float. après quelles recherches j'ai trouvé la
fonction "looks_like_number" ici
:http://search.cpan.org/~nwclark/perl-5.8.6/pod/perlapi.pod#looks_like_numbe
r
mais comment l'utiliser ? car bien sur mon script perl à l'exécution de
répond joyeuseument : 'Undefined subroutine &main::looks_like_number...".

quelqu'un peu m'aider ou me donner une autre solution du genre :
(isNum($ARGV[1])?"oui:"non")

merci beaucoup.

4 réponses

Avatar
Paul Gaborit
À (at) Tue, 15 Mar 2005 08:56:12 +0100,
"kurtz_le_pirate" écrivait (wrote):
je suis a la recherche d'une fonction me permettant de tester si un scalaire
est un nombre, enfin, un float. après quelles recherches j'ai trouvé la
fonction "looks_like_number" ici
:http://search.cpan.org/~nwclark/perl-5.8.6/pod/perlapi.pod#looks_like_numbe
r
mais comment l'utiliser ? car bien sur mon script perl à l'exécution de
répond joyeuseument : 'Undefined subroutine &main::looks_like_number...".


La fonction 'looks_like_number' est une fonction de l'API perl. C'est à dire
qu'elle est utilisable par un programme souhaitant piloter perl (en C ou dans
un autre langage). Ce n'est pas une fonction du langage Perl.

D'ailleurs l'introduction de la documentation que vous citez l'indique bien :

This file contains the documentation of the perl public API generated by
embed.pl, specifically a listing of functions, macros, flags, and
variables that may be used by extension writers.

quelqu'un peu m'aider ou me donner une autre solution du genre :
(isNum($ARGV[1])?"oui:"non")


Le mieux est de chercher dans la FAQ :

% perldoc -q float

La réponse est dans perlfaq4 :
<http://www.enstimac.fr/Perl/DocFr/perlfaq4.html#comment%20puisje%20d%E9terminer%20si%20un%20scalaire%20est%20un%20nombre/entier/%E0%20virgule%20flottante>

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Régis Caspar
kurtz_le_pirate wrote:
bonjour,

je suis a la recherche d'une fonction me permettant de tester si un scalaire
est un nombre, enfin, un float. après quelles recherches j'ai trouvé la
fonction "looks_like_number" ici
:http://search.cpan.org/~nwclark/perl-5.8.6/pod/perlapi.pod#looks_like_numbe
r
mais comment l'utiliser ? car bien sur mon script perl à l'exécution de
répond joyeuseument : 'Undefined subroutine &main::looks_like_number...".

quelqu'un peu m'aider ou me donner une autre solution du genre :
(isNum($ARGV[1])?"oui:"non")


Bonjour,

Vous devriez lire les discussions à ce propos sur perlmonks
(http://perlmonks.thepen.com/408607.html et
http://perlmonks.thepen.com/212058.html).

Voir également le package Acme::Util :

#########################################################################
#!perl
use Acme::Util ':math';
use strict;
use warnings;

chomp && print "$_ : ", (isnum($_) ? "is a number" : "is not a number"),
(isfloat($_) ? " and a float" : " and not a float"), $/ for (<DATA>)

__DATA__
1234
1.234
-2.345
1-1+2
0.032
.321
ASDF
ASDF1234
1234ASDF
a
b2
1
2.2
3e3
4.
.5
5e-5
4e99
#########################################################################
--
Régis Caspar

Avatar
kurtz le pirate
In article ,
Paul Gaborit wrote:

Le mieux est de chercher dans la FAQ :

% perldoc -q float



merci, c'est excatement ce que je cherchais et en plus j'ai appris
"perldoc -q" je progress, je progresse...

merci


Avatar
kurtz le pirate
In article <4236be3f$0$13915$,
Régis Caspar <regis.caspar+ wrote:

Vous devriez lire les discussions à ce propos sur perlmonks
(http://perlmonks.thepen.com/408607.html et
http://perlmonks.thepen.com/212058.html).



bonjour,

oui j'avais lu mais je n'ai rien compris !!!
je suis débutant en perl. mais ce que j'arrive à faire maintenant
avec beaucoup d'aide sur ce forum m'encourage à continuer.

klp