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

VB.NET Discussion :

Petit souci avec calcul [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut Petit souci avec calcul
    Bonjour,
    Je rencontre un petit souci que je n'arrive pas a elucider et qui, pourtant, me parait simple.

    J'ai une valeur Q, une valeur A et une valeur B

    le problème est simple :
    - Si Q compris entre (-0.5) et (+1.5) inclus
    alors A = B * 10%

    - Si Q compris entre (1.6) et (+2.5)
    alors A = B

    - Si Q superieur a +2.5
    alors A = B * 5%

    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     If valQ > -0.5 Or valQ < +1.5 Then 
                  valA = (valB * 0.1)
                  A.Text = valA.ToString("0.00")
              End If
              If valQ >= +1.5 Or valQ <= 2.5 Then 
                 valA = (valB * 0.0)
                 A.Text = valA.ToString("0.00") 
             End If
             If valQ > +2.5 Then 
                valA = (valB * 0.05) 
                A.Text = valA.ToString("0.00")
            End If

    Quelque chose cloche, j'ai l'impression que quel que soit Q il m'applique toujours valA = (valB * 0.1)
    Voyez vous une erreur ???
    Merci de l'aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If valQ > -0.5 Or valQ < +1.5 Then 
                  valA = (valB * 0.1)
                  A.Text = valA.ToString("0.00")
              End If
              If valQ >= +1.5 Or valQ <= 2.5 Then 
                 valA = (valB * 0.0)
                 A.Text = valA.ToString("0.00") 
             End If
             If valQ > +2.5 Then 
                valA = (valB * 0.05) 
                A.Text = valA.ToString("0.00")
            End If
    Et c'est mieux d'utilisé des OrElse et des AndAlso que le simple Or And

    De plus ton code ne correspond pas a ta description

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    euh je corrige mon code j'ai omis d'inclure le mot "inclus"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    If valQ >= -0.5 Or valQ <= +1.5 Then 
    valA = (valB * 0.1)
    A.Text = valA.ToString("0.00")
    End If
    If valQ >= +1.6 Or valQ <= 2.5 Then 
    valA = (valB * 0.0)
    A.Text = valA.ToString("0.00") 
    End If
    If valQ > +2.5 Then 
    valA = (valB * 0.05) 
    A.Text = valA.ToString("0.00")
    End If
    voila

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    euh ou je suis carrément aveugle ou je ne vois aucune différence entre ton code et le mien .......... me trompe je

    Ou est ce qu'il ne correspond pas ??????
    Avec la derniere modif ?

    Les also, je ne sais pas m'en servir a bon escient

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Citation Envoyé par Attila54 Voir le message
    euh ou je suis carrément aveugle ou je ne vois aucune différence entre ton code et le mien .......... me trompe je
    Oups j'ai mis la couleur rouge mais pas changer le texte
    Remplace les Or par des And

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    je vois bien que les couleurs ne sont pas les mêmes oui mais je ne vois rien dans les caracteres !!!!!!!

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    ah ok je comprends mieux la
    je teste

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Il faut utilisé les même bornes aussi
    Imagine qu'un jour tu as 1.55 tu ne vais rentrer dans aucun de tes cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     If valQ >= -0.5 AndAlso valQ <= +1.5 Then 
                  valA = (valB * 0.1)
                  A.Text = valA.ToString("0.00")
             Else If valQ > 1.5 AndAlso valQ <= 2.5 Then 
                 valA = (valB * 0.0)
                 A.Text = valA.ToString("0.00") 
             Else  If valQ > +2.5 Then 
                valA = (valB * 0.05) 
                A.Text = valA.ToString("0.00")
             Else throw new Exception("Cas non géré")
            End If
    quand tu vas avoir ValQ à -1 tu aura une exception
    (dans ton code il ne se passera rien pas sur que se soit une bonne solution)

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

Discussions similaires

  1. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  2. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 22h10
  3. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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