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

avec Java Discussion :

Pb avec Interger.parseInteger(string s)


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Points : 97
    Points
    97
    Par défaut Pb avec Interger.parseInteger(string s)
    Bonjour,

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static String List_toto(String Code_Structure)
        { int  var;
          var = Integer.parseInt(Code_Structure);
          switch(var)
         {
          case 01 : return "sdgs";
          case 02 : return "sall";
    default : return "null";
    }}
    Et voici l'erreur que je n'arrive pas à résoudre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java.lang.NumberFormatException: For input string: "0126B"
    	at java.lang.NumberFormatException.forInputString(Unknown Source)
    	at java.lang.Integer.parseInt(Unknown Source)
    	at java.lang.Integer.parseInt(Unknown Source)
    Je ne comprends pas pourquoi la chaine String =0126B pose un problème.
    Merci d'avance pour vos réponses,
    NFHnv

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    tu ne peux pas convertir cette chaîne de caractères "0126B" en décimal car en base 10 on a que des chiffres. en base 16 c'est possible.
    01 représente un octal.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 54
    Points
    54
    Par défaut
    bonjour,
    si ta besoin des 2 première caractère utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String substring(int beginIndex, int endIndex)
    dans ton cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    public static String List_toto(String Code_Structure)
        { int  var;
    String str = Code_Structure.substring(0,1);
          var = Integer.parseInt(str);
          switch(var)
         {
          case 01 : return "sdgs";
          case 02 : return "sall";
    default : return "null";
    }}
    bon courage

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    Tu peux egalement éliminer toutes les lettres de ta chaine avant de recuperer sa valeur entière
    voici un exemple de code qui peux t'aider:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Starter {
        
        
        public static void main(String[] args) {
    
    String ch ="0123A23G9";//chaine de depart contenant des lettres
    String ch2="";//chaine intermédiaire
    for(int i=0;i<ch.length();i++)
        if((int)ch.charAt(i)>47&&(int)ch.charAt(i)<58)//elimination de tous les caractères de code ASCII
            ch2+=ch.charAt(i);     //inferieur à 48 et superieur à 57 (intervalle des caractères de 0 à 9)
    int j= Integer.parseInt(ch2);
    System.out.println("chaine de départ: "+ch+"\n chaine traitée :"+ ch2+"\nvaleur numerique: "+j);
        }
    }
    et voici le résultat rendu :

    chaine de départ: 0123A23G9
    chaine traitée :0123239
    valeur numerique: 123239
    Tu peux l'adapter à ton cas si ça t'intéresse.
    Bonne continuation

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/04/2006, 21h45
  2. Problème avec fonctions et string/char
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 08/04/2006, 16h54
  3. [JComboBox] Remplissage avec tableau de String
    Par linkit dans le forum Composants
    Réponses: 2
    Dernier message: 26/05/2005, 21h39
  4. probléme avec une date/string dans un CommandText
    Par critok dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/02/2005, 15h30
  5. [LG]probleme avec l'identificateur STRINGE
    Par youth dans le forum Langage
    Réponses: 3
    Dernier message: 15/08/2003, 01h42

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