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 Java Discussion :

Transformation d'un String en Int


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Transformation d'un String en Int
    Bonjour,

    Je débute en Java et avec le code suivant j'ai des erreurs lors de l'exécution et je ne vois pas trop d'où ça vient :

    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
    public static boolean verifierNir (String nirATester) {
     
     
            String clef =nirATester.substring(13);
            String nir = nirATester.substring(0, 13);
            int verif = Integer.parseInt(nir); 
            int cle = Integer.parseInt(clef);
            int reste = verif % 97 ;
     
            if ((97-reste)==cle){
                System.out.println ("ok");
                return true ;
            }
            else
            {
                System.out.println ("KO");
                return false;
            }
    Voila avec quoi je teste le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String nir1 = new String("260058700112367") ;
            PatientRegle.verifierNir(nir1) ;
    Et voila les erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in thread "main" java.lang.NumberFormatException: For input string: "2600587001123"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at com.iut.cabinet.metier.PatientRegle.verifierNir(PatientRegle.java:27)
        at com.iut.cabinet.essai.EssaiCabMed_v2.<init>(EssaiCabMed_v2.java:54)
        at com.iut.cabinet.essai.EssaiCabMed_v2.main(EssaiCabMed_v2.java:23)
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    tu obtiens bien des valeurs dans clef et nir aprés ces deux instructions ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String clef = nirATester.substring(13);
    String nir  = nirATester.substring(0, 13);

  3. #3
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    13 chifffre c trooop long pour une variable de type int (entre -2 147 483 648 et 2 147 483 647)
    reesi en utilisant le type long (9223372036854775808 à 9223372036854775807)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            long verif = Long.parseLong(nir); 
            long  cle = Long.parseLong(clef);
            long  reste = verif % 97 ;
    remarque je n'ai pas eu le temps de tester mais ça me parait la reponse la plus valable

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Effectivement, sa marche en utilisant le type long. J'avais essayé, mais j'avais oublié de modifier aussi pour le parse.


    Merci à vous pour votre aide.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/04/2013, 22h15
  2. Transformer une variable string en int
    Par Nikogram dans le forum C#
    Réponses: 4
    Dernier message: 18/10/2009, 20h47
  3. Transformation d'un String en tableau 2D de int
    Par demonixis dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 11/04/2009, 11h51
  4. Réponses: 3
    Dernier message: 23/02/2006, 09h37
  5. [Debutant]Transformer string en int
    Par htaou dans le forum SL & STL
    Réponses: 7
    Dernier message: 09/09/2005, 21h28

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