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 :

Transformer une chaîne en un nombre


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    informatique
    Inscrit en
    Avril 2013
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 280
    Billets dans le blog
    1
    Par défaut Transformer une chaîne en un nombre
    Bonjour à tous.

    Voici mon problème : j'ai une chaîne (String) que je voudrais transformer en un nombre. C'est-à-dire que pour la chaîne de 0000456987,45, je voudrais avoir 456987,45 ou encore, pour 000,08796, je voudrais avoir 0,08796.
    Je rappelle que les chaînes soient toujours composées de chiffres mais varient.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Hello,

    J'ai pas bien compris cette histoire d'entier pendant que tu nous montres des nombres à virgule.

    Mais pour transformer une String en nombre à virgule, il faut commencer par choisir le type de ce nombre :

    - double si on veut une précision raisonnable, pour de bonnes performances et une certaine facilité. (Situation habituelle)
    - BigDecimal pour une précision absolue, au prix d'une certaine lourdeur dans la programmation et les performances. (Cas plus rare)

    Une fois la décision prise il ne reste plus qu'à parser la String pour la convertir dans le type nombre.
    Vu que la String utilise des conventions françaises, il vaut mieux utiliser DecimalFormat pour le parsing.

    Voici comment faire pour un parsing en double :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String sNombre = "0000456987,45";
     
    DecimalFormat format = new DecimalFormat();
    double dNombre = format.parse(sNombre).doubleValue();
    Ou pour un BigDecimal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String sNombre = "0000456987,45";
     
    DecimalFormat format = new DecimalFormat();
    format.setParseBigDecimal(true);
    BigDecimal bdNombre = (BigDecimal)format.parse(sNombre);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [RegEx] Transformer une chaîne
    Par Neuromancien2 dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2007, 18h27
  2. Réponses: 3
    Dernier message: 08/02/2007, 11h55
  3. transformer une chaîne en double
    Par akrobat dans le forum C++
    Réponses: 8
    Dernier message: 20/06/2006, 19h20
  4. Tri sur une chaîne de caractères contenant des nombres
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2006, 11h52
  5. Réponses: 3
    Dernier message: 28/09/2003, 10h46

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