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 :

Problème de conversion String en Double


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 15
    Points
    15
    Par défaut Problème de conversion String en Double
    Bonjour,
    J'ai un petit problème de conversion de string !

    Je voudrais savoir pourquoi le code ci-dessous me retourne 3.0 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Double.parseDouble("3d")
    Merci de votre réponse

    Java 1.6

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Tu t'attendais a ce qu'il te retourne quoi en faite???

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Je m'attendais qu'il me retourne une erreur.
    J'ai fais un test pour savoir si un nombre est un double.
    Cependant en essayant mon test je me suis aperçu que "3d" passe au travers .

  4. #4
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Parce que un chiffre suivi d'un 'd' décrit un double.
    Tu peux très bien initialiser un double ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double monDouble = 8d;
    Au même titre , le 'l' va décrire un long
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    long monLong = 8l;
    etc...

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    D'accord c'est bien bête pour mon test.
    Je m'y prendrais autrement.
    merci pour ta réponse.

    Bonne journée++

  6. #6
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Tu devrais t'en sortir avec une petite expression régulière à mon avis.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut String >> double
    bonjour,

    Moi j'ajouterais int integ = Integer.parseInt(monString);

    String info = ""; String monString = "3d";
    try
    {
    int integ = Integer.parseInt(monString);
    double mondouble = Double.parseDouble(monString);
    }
    catch (NumberFormatException f) {
    javax.swing.JOptionPane.showMessageDialog(null,"Non numérique : " + monString);
    return; // ou autre chose
    }

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Merci de vos réponse!

    Pour économiser quelques lignes j'ai ajouter un "0" au String pour le test :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String monString = "3d";
    try
    {
    double mondouble = Double.parseDouble(monString+"0");
    }
    catch (NumberFormatException f) {
    javax.swing.JOptionPane.showMessageDialog(null,"Non numérique : " + monString);
    return; // ou autre chose
    }
    Merci bonne journée

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/06/2010, 23h40
  2. Problème de conversion String en Float avec JTable
    Par dumasan dans le forum Composants
    Réponses: 4
    Dernier message: 23/04/2007, 11h56
  3. conversion string en double
    Par kakrocq dans le forum C++/CLI
    Réponses: 4
    Dernier message: 11/04/2007, 13h54
  4. Problème de conversion string->int
    Par seheiahs dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2006, 10h42
  5. conversion string en double
    Par zmatz dans le forum SL & STL
    Réponses: 2
    Dernier message: 14/10/2005, 22h46

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