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

Collection et Stream Java Discussion :

Comparaison de deux valeurs.


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut Comparaison de deux valeurs.
    J'aimerai faire une comparaison de deux valeurs que je recupere dans une classe java.
    donc j'ai fait un system.out.println, je les ai bien recupéres, maintenant, j'aimerai les comparer :
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BigDecimal valeur1= Classe.1getData1();
    BigDecimal valeur2= classe2.getData2();
    j'aimerai comparer ces deux valeurs 1 et 2 comme ceci : valeur1 > valeur2

    mais j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur1.CompareTo(valeur2)
    mais cela ne fonctionne pas.

  2. #2
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur1.compareTo(valeur2)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    ca fonctionne mais je dois faire le test si la valeur1 est > à valeur2 alors test ok sinon rien.

  4. #4
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (valeur1.compareTo(valeur2) > 0) {
      System.out.println("test ok");
    } // sinon rien

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (valeur1.compareTo(valeur2) > 0) {  System.out.println("test ok"); } // sinon rien
    ou bien ca marche ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (valeur1.compareTo(valeur2) > 0) 
    { 
        t =true; 
    }
    mais le compareTo est-ce que ca compare que valeur1 est bien superieur à valeur2 mais pas à Zero ?

  6. #6
    Membre expérimenté Avatar de wace
    Inscrit en
    Septembre 2003
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 224
    Par défaut
    Le compareTo donne la difference entre la valeur A et B

    compareTo
    public int compareTo(BigDecimal val)

    Compares this BigDecimal with the specified BigDecimal. Two BigDecimals that are equal in value but have a different scale (like 2.0 and 2.00) are considered equal by this method. This method is provided in preference to individual methods for each of the six boolean comparison operators (<, ==, >, >=, !=, <=). The suggested idiom for performing these comparisons is: (x.compareTo(y) <op> 0), where <op> is one of the six comparison operators.

    Parameters:
    val - BigDecimal to which this BigDecimal is to be compared.
    Returns:
    -1, 0 or 1 as this BigDecimal is numerically less than, equal to, or greater than val
    Donc le resultat apres l'operande depends du test que tu veux effectué et non pas de la valeur que tu veux tester.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    alors sachant que ma valeur renvoie -1 donc valeur 1 < à valeur 2
    et c'est pour moi donc faux
    donc je peux faire ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Boolean result = false;
    if (valeur1.compareTo(valeur2) > 0) 
    { 
        resultat = false; 
    }

  8. #8
    Membre expérimenté Avatar de wace
    Inscrit en
    Septembre 2003
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 224
    Par défaut
    tu obtiendra
    -1 si valeur1 < valeur2
    et
    1 si valeur1 > valeur2

    donc si pour toi result est faux si valeur1 > valeur2 alors oui c'est ca

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Bonjour,

    Si tu n'initialises pas ton result à "true", tu auras toujours "false" avec ton code.

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

Discussions similaires

  1. Pb comparaison de deux valeurs
    Par denree53 dans le forum Excel
    Réponses: 5
    Dernier message: 18/05/2015, 22h37
  2. [XL-2010] Comparaison de deux valeurs VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/11/2013, 23h53
  3. [XL-2007] erreur aléatoire de comparaison entre deux valeurs
    Par jean_jean dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/04/2012, 17h58
  4. Réponses: 7
    Dernier message: 20/10/2009, 09h12
  5. Comparaison de deux valeurs numériques ne fonctionnant pas
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/01/2009, 14h17

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