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 :

[Chaines] Supprimer le 1er caractere


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut [Chaines] Supprimer le 1er caractere
    Salut a tous,

    J'ai une petite question.
    Je recupere a partir d'un programme Java une valeur monetaire dans MS Excel (fichier securisée et non-modifiable). CEpendant, cette valeur est sous la forme "$1'000,00" dans Excel, ce qui me genere une erreur lorsque je mets cette valeur dans une variable de type Double.

    Est il possible de supprimer ce "$" a l'aide d'une fonction Java ?

    Merci d'avance pour vos precisions...

    Mario

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu as deux options.

    Soit tu utilises la méthode substring() soit la méthode replace().

    La première te permet de récupérer un sous-ensemble de ta chaîne (dans ton cas la chaîne à partir du deuxième caractère) et l'autre te permettra de remplacer l'ensemble des caractères $ par une chaîne vide.

    Ces deux fonctions font partie de la classe java.lang.String (que tu aurais dû regarder en premier ) donc pour savoir en détail comment les utiliser tu peux regarder la javadoc.

  3. #3
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    Existe t-il une fonction pour faire la meme chose mais avec une variable de type DOUBLE ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Double x = 111.11;
     
    x.substring(1,3);

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Si tu ne souhaite garder que la partie entière de ton double, cast le en int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    double d = 111.11;
    int i = (int) d;
    System.out.println (i);
     
    Le résultat: 111
    a+

  5. #5
    Invité
    Invité(e)
    Par défaut
    Un nombre n'est pas une chaîne de caractères. Les humains utilisent un mode de représentation des nombres sous forme de suite de chiffres mais ce n'est qu'un mode de représentation. Cela ne représente pas fondamentalement le concept de nombre.

    Du coup ta question perd un peu son sens. En tous cas, aucune fonction de la classe Double ne fait quelque chose d'approchant.

    Mais la fonction substring elle serait censée renvoyer quoi dans ton cas ? 111 ?

    Si tu veux récupérer la partie entière d'un réel, là il existe des méthodes.

    Par contre si ton but c'est de récupérer les 3 'chiffres' de plus haut poids d'un nombre ça va être plus dur. Et surtout je ne vois pas trop à quoi ça pourrait servir.

  6. #6
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    Non en effet, ma question n'est pas "comment recuperer la partie entiere d'un double" mais bel et bien comment recuperer une partie d'un double ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Juste par curiosité, ça te servira à quoi de récupérer les n 'premiers' caractères d'un réel ?

    Sinon je vois une seule solution simple :

    Tu transformes ton Double en String (avec la méthode String Double.toString(String s) ). Puis tu utilises la méthode substring que tu as utilisé précédemment. C'est à mon avis le plus simple mais fais attention au format de ton String renvoyé par toString, si jamais tu as des 0 qui viennent se mettre au début du nombre ça va te poser problème (mais normalement ça devrait pas arriver).

    J'ai eu à faire quelque chose dans ce style récemment mais c'était un entier que je devais décomposer...
    Dans un fichier je récupérais des "nombres" de 5 chiffres du style aabbb et je devais séparer aa et bbb. Ce que je faisais c'était que je récupérais mon "nombre" comme une chaîne de caractères, j'utilisais substring et après je transformais mes deux sous-chaines en entiers.

  8. #8
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    C'est a peu pres ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Integer x = 0;
    String Value1 = ",";
    String Value2 = "'";
     
    String str = input.getCurFace();
    str.replace(Value1,Value2);
    x =str.length();
     
    str = str.substring(3,x);
     
    double d = Double.valueOf(str).doubleValue();
     
    return d;
    Est ce que la methode pour transformer le string str en double (à la fin) est bonne ?

  9. #9
    Membre expérimenté
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Par défaut
    ça marche mais
    double d = Double.parseDouble(String)
    te permet de faire la même chose en plus simple, et sans création d'objet inutile.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/01/2011, 18h20
  2. supprimer le premier caractere d'une chaine
    Par alexkickstand dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 03/10/2007, 19h35
  3. Supprimer le 1er élément d'une liste chainée
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 8
    Dernier message: 02/06/2007, 01h05
  4. Supprimer le premier caractere d'une chaine
    Par Jim_Nastiq dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2006, 16h40
  5. Réponses: 17
    Dernier message: 12/04/2005, 15h28

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