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

NetBeans Java Discussion :

Conversion objet texte null en numérique (valeur 0)


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Par défaut Conversion objet texte null en numérique (valeur 0)
    Bonjour tout le monde;
    Mon problème consiste à lire une valeur d'un objet texte mais si c'est null ça ne peut pas me donner la valeur 0.

    Voilà le code correspondant

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    //Partie déclaration
      Object[][] carac_man = null;
      Object[][] data_ligne = null;
     
     
     
    // Méthode de sélection
     
      public void charger_liste_article() {
                            String cstr1, cstr2;
                           cstr1 = "select count(ref_palette) as nb_acc from palette";
                            ResultSet rsma = stmt1.executeQuery(cstr1);
                            int nb_acc = 0;
                            if (rsma.next()) {
                                nb_acc = rsma.getInt("nb_acc");
                                }
                           carac_man[i][0 = (nb_acc);
                        }
                    }
                } catch (SQLException e) {
                    jop.showMessageDialog(null, "Problème SQL", "Erreur !!", jop.ERROR_MESSAGE);
                    e.printStackTrace();
                } catch (Exception e) {
                    jop.showMessageDialog(null, "Problème technique", "Erreur !!", jop.ERROR_MESSAGE);
                    e.printStackTrace();
                }
            }
     
     
     
     
    //Partie appel
     
     
         int nbacca=0;
         String nbacc = (carac_man[comb_cod_art.getSelectedIndex()][0]+"" );   
     
     try{
                nbacca = Integer.parseInt(nbacc);
                 System.out.println ("nbacca trouvé : "+nbacca) ;
            }catch (NumberFormatException e){
                System.out.println("Error : "+e.getMessage());
            }
    //****************


    Mais plusieurs essai toujours l'erreur suivante
    java.lang.NumberFormatException: For input string: "null"

    Comment résoudre ce problème qui se pose lors du l'appel de la méthode dans aucun enregistrement et donc pas de parseInt pour le null.

    Merci de m'aider.

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Salut,

    Citation Envoyé par AlloAmeur Voir le message
    Comment résoudre ce problème qui se pose lors du l'appel de la méthode dans aucun enregistrement et donc pas de parseInt pour le null.
    Ajoute un test...
    Si nbacc est null, nbacca=0
    Sinon, tu fais ton parseInt
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Par défaut
    Ajoute un test...
    Si nbacc est null, nbacca=0
    Sinon, tu fais ton parseInt[/QUOTE]

    Merci pour votre interêt.
    Mais voilà ce que j'ai effectuée plus de fois
    if (nbacc!="null") {nbacca=Integer.parseInt(nbacc);}
    et aussi
    if (nbacc!=null) {nbacca=Integer.parseInt(nbacc);}
    et encore
    if (nbacc!="") {nbacca=Integer.parseInt(nbacc);}
    et encore
    if (!(nbacc.equals("null")) {nbacca=Integer.parseInt(nbacc);}
    et encore
    if (!(nbacc.equals(null)) {nbacca=Integer.parseInt(nbacc);}
    et encore
    et encore
    if (!(nbacc.equals("")) {nbacca=Integer.parseInt(nbacc);}


    mais toujours le même problème

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si je suis bien ta logique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        carac_man[i][0 = (nb_acc)
     
    ......
     
     
         String nbacc = (carac_man[comb_cod_art.getSelectedIndex()][0]+"" );   
         nbacca = Integer.parseInt(nbacc);



    Tu récupère de la db un int, tu le stocke dans un tableau, tu récupére ensuite cette valeur du tableau, tu la concatène à un String, et au final tu tente de parser ce dernier String. Il me semble que ce code serait bien plus propre et plus approprié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Object val = carac_man[comb_cod_art.getSelectedIndex()][0];
    if (val==null)
       nbacca = 0;
    else
       nbacca = (Integer)val;

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Par défaut
    Tu récupère de la db un int, tu le stocke dans un tableau, tu récupére ensuite cette valeur du tableau, tu la concatène à un String, et au final tu tente de parser ce dernier String. Il me semble que ce code serait bien plus propre et plus approprié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Object val = carac_man[comb_cod_art.getSelectedIndex()][0];
    if (val==null)
       nbacca = 0;
    else
       nbacca = (Integer)val;
    [/QUOTE]




    ---------------------

    Merci pour votre interêt, je l'ai bien résolu par un catch

    try {// if (nbacc=="null") {nbacca=Integer.parseInt(nbacc);}
    nbacca = Integer.parseInt(nbacc);
    } catch (Exception e) {
    nbacca = 0;
    }

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Citation Envoyé par AlloAmeur Voir le message
    Merci pour votre interêt, je l'ai bien résolu par un catch

    try {// if (nbacc=="null") {nbacca=Integer.parseInt(nbacc);}
    nbacca = Integer.parseInt(nbacc);
    } catch (Exception e) {
    nbacca = 0;
    }
    ?????

    Je doute fortement que ton test nbacc=="null" soit un jour vrai... une comparaison à null ce n'est pas une comparaison à "null"...

    De plus, quel intérêt de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (nbacc=="null") {nbacca=Integer.parseInt(nbacc);}
    nbacca = Integer.parseInt(nbacc);
    ???

    Quel intérêt de gérer une exception qui pourrait être évitée (avec ma proposition ou avec le code de tchize_ qui est 10000 fois plus élégant)?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

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

Discussions similaires

  1. [JComboBox] Afficher un texte si l'objet est null
    Par nicou_doude dans le forum Composants
    Réponses: 2
    Dernier message: 21/10/2008, 14h01
  2. Réponses: 0
    Dernier message: 18/07/2008, 11h06
  3. [POO] remplacer la valeur d'un objet text par celle entrer par l'utilisateur
    Par Shikamaru86 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/04/2007, 08h47
  4. comment récupérer la valeur d'un objet text dans crystal XI
    Par Dseb dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 27/07/2006, 10h07
  5. [VBA Access] Champ texte null alors que l'objet existe bien.
    Par Caroline1 dans le forum VBA Access
    Réponses: 9
    Dernier message: 28/03/2006, 17h31

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