IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

difference entier et réél


Sujet :

Langage Perl

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Points : 128
    Points
    128
    Par défaut difference entier et réél
    bonjour
    je suis encore débutant en perl
    je veux savoir comment on fait pour distinguer si une valeur saisi par l'utilisateur est un entier ou un réel ??

    merci

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Les valeurs "saisies" par l'utilisateur (au prompt par exemple) sont des string. A toi de les convertir en entier ou en flottant, ou de forcer la conversion. (Perl est un context-based language et il n'est donc pas étonnant que la conversion de type soit forcée par le contexte).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $input = <>;
    my $float_n = $input + 0.0;
    printf("%.3f", $float_n);
    Que veux-tu faire ? Donne un exemple.

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Points : 128
    Points
    128
    Par défaut
    par exemple si l'utilisateur saisit 2 il lui affiche un message "c'est un entier"
    s'il saisi 3,4 il lui affiche un message "c'est un réel"

    merci

  4. #4
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Tu veux dire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (<>) {
      print "Entier\n" if /^\d+$/;
      print "Réel\n" if /^\d+\.\d+(E[+-]?\d+)?$/;
    }
    On lit une chaîne de caractère et on teste si elle correspond à un motif d'entier ou de réel (j'ai inclus, pour rigoler et juste pour que tu vois le principe, un pattern possible pour la notation avec exposant des réels).

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Points : 128
    Points
    128
    Par défaut
    je t'avoue je n'ai rien compris parcque je vien juste de commencer avec perl
    en tout cas je te remercie beaucoup pour ton aide

  6. #6
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Pardon si j'ai été trop rapide.

    <> est l'opérateur readline sur un descripteur de fichier. Quand il n'y a rien dedans, Perl lit l'entrée standard (ou mieux, si des fichiers sont passés en arguements de commande Perl les ouvrent et les lit pour toi).

    if /^\d+$/ teste si la ligne lue matche une certaine expression régulière : ^ (début de chaîne), \d un chiffre, + répété une ou plusieurs fois, $ fin de chaîne.

  7. #7
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Ah oui et pour répondre à nouveau à ta question de départ, ce que tu lis ce sont des chaînes de caractères : tu peux les interpréter et les convertir (pour calcul par exemple) en entier ou flottant, comme je t'ai montré plus haut.

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Points : 128
    Points
    128
    Par défaut
    merci pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/06/2015, 15h06
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. Réponses: 3
    Dernier message: 16/01/2009, 16h28
  4. Utilisation d'un meme entier dans differents modules
    Par C.R.E.A.M dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/07/2007, 12h16
  5. champ_autoincrémenté de type different d'un entier
    Par kouraichi35 dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/10/2004, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo