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 :

Valeur négative en perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut Valeur négative en perl
    Bonjour à tous,

    Je viens d'être confronté à un truc auquel je n'avais jusqu'alors pas fait attention, et cela me pose un problème car pour le cas présent tous mes calculs réalisés jusqu'ici sont faux, exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    my @list= qw/
      +:12-06-2010:Arrêt:-100:niet
      +:15-06-2010:Autre:-64.11:niet
      *:09-07-2010:Divers:419.01:niet
      *:27-06-2010:Divers:169.89:niet
      /;
     
    my $res= 0;
    grep {
    	my ($type, $sum)= (split /:/, $_)[0,3];
    	$sum /= 2 if $type eq "*";
    	$res -= $sum;
    }@list;
    print "Res: ", $res, "\n";
    Je pensais jusqu'ici que par exemple ce bout de code retournait effectivement comme valeur -330.34 (ce qui en tout état de cause est le calcul juste), or à l'exécution, j'ai eu la fâcheuse surprise d'obtenir un joli -130.34 ???

    LeGonZo.

  2. #2
    Membre chevronné Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Par défaut
    Bonjour,

    Pourrais-tu expliquer ton calcul parce que là avec ton code et ton exemple je ne vois pas comment on obtient le fameux -330.34 .
    En effet, en suivant ton code et ton exemple cela donne bien le -130.34 donné par Perl :

    res = 0 - (-100) - (-64.11) - (419.01 / 2) - (169.89 / 2) = -130.34

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Citation Envoyé par Beniou Voir le message
    ...
    res = 0 - (-100) - (-64.11) - (419.01 / 2) - (169.89 / 2) = -130.34
    ...
    Effectivement, je viens de m'apercevoir de mon ânerie, j'avais oublié le premier moins juste après le zéro. Pour réaliser le petit calcul souhaité, il suffisait d'initialiser la variable (dans l'exemple) avec le premier nombre et non à zéro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    my @list= qw/
      +:12-06-2010:Arrêt:-100:niet
      +:15-06-2010:Autre:-64.11:niet
      *:09-07-2010:Divers:419.01:niet
      *:27-06-2010:Divers:169.89:niet
      /;
     
    my $res= (split /:/, (shift @list))[3];
    grep {
    	my ($type, $sum)= (split /:/, $_)[0,3];
    	$sum /= 2 if $type eq "*";
    	$res -= $sum;
    }@list;
    print "Res: ", $res, "\n";
    Quand je pense que la réponse était devant mes yeux.
    Encore une fois merci bien Beniou.

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

Discussions similaires

  1. Valeur négative de Spin Control
    Par Midou dans le forum MFC
    Réponses: 7
    Dernier message: 23/02/2006, 12h56
  2. valeur négative
    Par pascale86 dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2006, 16h17
  3. Réponses: 4
    Dernier message: 23/09/2005, 14h15
  4. Réponses: 1
    Dernier message: 22/09/2005, 15h46
  5. [MSDE][INSERT Auto]Valeur négative de PK
    Par papouAlain dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2005, 14h28

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